php新手经常碰到的问题,->、=> 和 :: 这三个家伙是什么意思,都是做什么的啊!看着就很晕。
没关系,下面我们做一下详细的解释,如果你有C++,Perl基础,你会发现这些家伙和他们里面的一些符号功能是差不多的。
目录
“->”(减号、右尖括号)
‘->’ 符号是“插入式引用操作符”(infix dereference operator)。换句话说,它是调用由引用传递参数子程序的方法(当然,还有其它的作用)。正如我们上面所提到的,在调用PHP的函数的时候,大部分参数都是通过引用传递的。PHP中的‘->’功能就和它们在Perl或C++中一样。下面是一个简单的引用的例子:
echo $x->def(); # 输出
用于类中,访问类里的函数或对象,
比如:
<?php class Test { function do_test() { echo "Doing foo."; } } $bar = new Test; $bar->do_test(); ?>
“=>”(等号、右尖括号)
在PHP的脚本中‘=>’操作符也很常见。因为php数组函数很丰富,我们要经常用到数组,因为它操作数据很方便。
$phparr= new array( in => 'reply,' side => 'left', padx => 2m, pady => 2m, ipadx => 2m, ipady => 1m )
数组中给值赋值,
比如:
$arr=array("one" =>("1"=>10, "2"=>20), "two"=>2);
那么$arr[“one”][“1”]=10;
顺便说一下,如果你需要用数字“大于等于”的符号,你应该用“>=”而不是“=>”。
“::”(双冒号)
在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