PHP关于=>和->以及::的用法
1、=>的用法
在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如:
$css=array('style'=>'0',‘color’=>‘green‘);
则$css['style']=='0',$css['color']=='green'。
2、->的用法
->用来引用对象的成员(属性与方法);

1 <?php
2 $arr=['a'=>123,'b'=>456];//数组初始化
3 echo $arr['a'];//数组引用
4 print_r($arr);//查看数组
5 class A{
6 public $a=123;
7 public $b=456;
8 }
9 $obj=new A();
10 echo $obj->a;//对象引用
11 print_r($obj);//查看对象
12 ?>

输出结果:

123Array
(
[a] => 123
[b] => 456
)
123A Object
(
[a] => 123
[b] => 456
)

3、::的用法
双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。
(1)Program List:用变量在类定义外部访问

1 <?php
2 class Fruit {
3 const CONST_VALUE = 'Fruit Color';
4 }
5
6 $classname = 'Fruit';
7 echo $classname::CONST_VALUE; // As of PHP 5.3.0
8
9 echo Fruit::CONST_VALUE;
10 ?>

(2)Program List:在类定义外部使用::

1
2 <?php
3 class Fruit {
4 const CONST_VALUE = 'Fruit Color';
5 }
6
7 class Apple extends Fruit
8 {
9 public static $color = 'Red';
10
11 public static function doubleColon() {
12 echo parent::CONST_VALUE . "\n";
13 echo self::$color . "\n";
14 }
15 }
16
17 Apple::doubleColon();
18 ?>

(3)Program List:调用parent方法

1 <?php
2 class Fruit
3 {
4 protected function showColor() {
5 echo "Fruit::showColor()\n";
6 }
7 }
8
9 class Apple extends Fruit
10 {
11 // Override parent's definition
12 public function showColor()
13 {
14 // But still call the parent function
15 parent::showColor();
16 echo "Apple::showColor()\n";
17 }
18 }
19
20 $apple = new Apple();
21 $apple->showColor();
22 ?>

(4)Program List:使用作用域限定符

1
2 <?php
3 class Apple
4 {
5 public function showColor()
6 {
7 return $this->color;
8 }
9 }
10
11 class Banana
12 {
13 public $color;
14
15 public function __construct()
16 {
17 $this->color = "Banana is yellow";
18 }
19
20 public function GetColor()
21 {
22 return Apple::showColor();
23 }
24 }
25
26 $banana = new Banana;
27 echo $banana->GetColor();
28 ?>

(5)Program List:调用基类的方法

1
2 <?php
3
4 class Fruit
5 {
6 static function color()
7 {
8 return "color";
9 }
10
11 static function showColor()
12 {
13 echo "show " . self::color();
14 }
15 }
16
17 class Apple extends Fruit
18 {
19 static function color()
20 {
21 return "red";
22 }
23 }
24
25 Apple::showColor();
26 // output is "show color"!
27
28 ?>

PHP关于=>和->以及::的用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
随机推荐
- Linux操作_常用命令操作练习
1,新键一个用户,该用户名为自己姓名首字母缩写+学号最后2位组成(如王东,学号最后2位为18,则该用户名为wd18),为该用户设置密码,并将其加到users组:将该用户的相关信息更改(要求:Name为 ...
- visual studio code 写c++代码
首先安装c++插件: 安装 LLVM clang 下载地址:http://releases.llvm.org/ 解决方法:点击黄色灯泡 进入 c_cpp_properties.json文件, 在 pa ...
- JDBC是什么?
JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是用于在Java语 ...
- C# 获取文件大小
当然了都需要引入System.IO这个命名空间 第一个: public static long GetDirectoryLength(string dirPath){//判断给定的路径是否存在,如果不 ...
- Xshell的常用命令
常用的命令: suse linux 常用命令 (1) 命令ls——列出文件 ls 显示当前目录文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当 ...
- TensorFlow-GPU:查看电脑显卡型号是否支持CUDN,以及相关软件下载与介绍
1.显卡(GPU)是否支持CUDN https://developer.nvidia.com/cuda-gpus 2.了解基础知识 1)CUDA(Compute Unified Device Arch ...
- JAVABEAN必须继承序列化借口的作用
这里有人家对序列化的测试 http://www.javaeye.com/topic/350137 Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成 ...
- 利用POST重启路由器,一直无法实现,求帮助
本帖最后由 xinaini1986 于 2014-10-20 13:03 编辑 因为路由器经常会无法上网,重启一下路由器就可以,但每次都登陆路由器管理重启路由器很麻烦,所以想通过按键精灵POST方式重 ...
- Thinkphp5 多图上传
html代码 <div class="content" id="content_list"> <!-- 上传部分 --> <for ...
- saltstack系列1之salt-api配置与使用
salt-api salt-api是我们通过restful-api调用salt-master的接口,且调用的时候必须通过认证才能调用,认证的用户为系统用户,下面就说说如何配置salt-api. 不带S ...