=>
符号的用法与含义
其实就是JSON
字典给Key
设置Value
值,通常在其他语言中字典设值是这样的:{ style: 0, color: 'green'}
,可以理解为:
。
$css = array('style'=>'0',‘color’=>'green'); $css['style'] == '0' // true $css['color'] == 'green' // true
->
符号的用法与含义
可以理解成其他语言的.
点语法,PHP
中用->
代替点语法获取对象属性方法。
<?php // 数组初始化 $arr=['a'=>123,'b'=>456]; // 数组引用 echo $arr['a']; //查看数组 print_r($arr); // 创建对象 class A{ public $a=123; public $b=456; } $obj=new A(); // 对象引用 echo $obj->a; // 查看对象 print_r($obj); ?>
- 输出结果:
123Array ( [a] => 123 [b] => 456 ) 123A Object ( [a] => 123 [b] => 456 )
::
符号的用法与含义
可以理解成其他语言的类方法
调用,双冒号操作符即作用域限定操作符Scope Resolution Operator
可以访问静态
、const
和类中重写的属性与方法
。
1、用变量在类定义外部访问
<?php class Fruit { const CONST_VALUE = 'Fruit Color'; } $classname = 'Fruit'; echo $classname::CONST_VALUE; // As of PHP 5.3.0 echo Fruit::CONST_VALUE; ?>
- 2、在类定义外部使用
::
<?php class Fruit { const CONST_VALUE = 'Fruit Color'; } class Apple extends Fruit { public static $color = 'Red'; public static function doubleColon() { echo parent::CONST_VALUE . "\n"; echo self::$color . "\n"; } } Apple::doubleColon(); ?>
- 3、调用
parent
方法
<?php class Fruit { protected function showColor() { echo "Fruit::showColor()\n"; } } class Apple extends Fruit { // Override parent's definition public function showColor() { // But still call the parent function parent::showColor(); echo "Apple::showColor()\n"; } } $apple = new Apple(); $apple->showColor(); ?>
- 4、使用作用域限定符
<?php class Apple { public function showColor() { return $this->color; } } class Banana { public $color; public function __construct() { $this->color = "Banana is yellow"; } public function GetColor() { return Apple::showColor(); } } $banana = new Banana; echo $banana->GetColor(); ?>
- 5、调用基类的方法
<?php class Fruit { static function color() { return "color"; } static function showColor() { echo "show " . self::color(); } } class Apple extends Fruit { static function color() { return "red"; } } Apple::showColor(); // output is "show color"! ?>