没关系,下面我们做一下详细的解释,如果你有C++,Perl基础,你会发现这些家伙和他们里面的一些符号功能是差不多的。
‘- >\’符号
插入式解引用操作符”(infix dereference operator)。换句话说,它是调用由引用传递参数的子程序的方法(当然,还有其它的作用)。正如我们上面所提到的,在调用PHP的函数的时候,大部分参数都是通过引用传递的。PHP中的‘->\’功能就和它们在Perl或C++中一样。下面是一个简单的解引用的例子:
echo $x->def(); # 输出
‘=>\’操作符
在PHP的脚本中‘=>\’操作符时很常见的。因为php数组函数很丰富,我们要经常用到数组,因为它操作数据很方便。
$phparr= new array( in => \’reply,\’
side => \’left\’,
padx => 2m,
pady => 2m,
ipadx => 2m,
ipady => 1m
)
顺便说一下,如果你需要用数字“大于等于”的符号,你应该用“>=”而不是“=>”。
::域运算符
在PHP中“::”这个叫范围解析操作符,又名域运算符
“::”符号可以认为是与C语言中的“.”相似的,而它更像C++中(Perl)的::类范围操作符。
php调用类的内部静态成员,或者是类之间调用就要用::
下面是一个例子:
class A
{
static $count = 0;
static function haha()
{
//
}
function diaoyoug()
{
self::haha();
self::$count;
}
}
a.b.c; /* C语言中的 */
a::b::c(); // C++ 中的函数
$a::b::c; # Perl 5中的标量
“===”(三等号)
或许有人就疑问了,此符号除了判断两变量是否相等外,还会判断值类型是否一致,若值类型不一样,则会返回False,比如:$a=\”1\”;//字符型1 $b=1;//数字型1 当执行$a===$b;时,将返回False
“->”(减号、右尖括号)
用于类中,访问类里的函数或对象,比如:
<?php class Test { function do_test() { echo \"Doing foo.\"; } } $bar = new Test; $bar->do_test(); ?>
\”=>\”(等号、右尖括号)
数组中给值赋值,比如:$arr=array(\”one\” =>(\”1\”=>10, \”2\”=>20), \”two\”=>2); 那么$arr[\”one\”][\”1\”]=10;
PHP中=>和->以及::的用法详解篇
1、=>的用法
在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如:
$css=array(\’style\’=>\’0\’,\’color\’=>\’green\’);
则$css[\’style\’]==\’0\’,$css[\’color\’]==\’green\’。
2、->的用法
->用来引用对象的成员(属性与方法);
$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)
3、::的用法
双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。
(1)Program List:用变量在类定义外部访问
class Fruit { const CONST_VALUE = \'Fruit Color\'; } $classname = \'Fruit\'; echo $classname::CONST_VALUE; // As of PHP 5.3.0 echo Fruit::CONST_VALUE; ?>
(2)Program List:在类定义外部使用::
<?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)Program List:调用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)Program List:使用作用域限定符
<?php class Apple { public function showColor() { return $this->color; } } class Banana12 { public $color; public function __construct() { $this->color = \"Banana is yellow\"; } public function GetColor() { return Apple::showColor(); } } $banana = new Banana; echo $banana->GetColor(); ?>
(5)Program List:调用基类的方法
<?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\"! ?>
暂无评论内容