PHP中的符號 ->、=> 和 :: 的含義(用法)
php新手經常碰到的問題,->、=> 和 :: 這三個傢伙是什麼分別都是做什麼的啊!看著就很暈。
沒關係,下面我們做一下詳細的解釋,如果你有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;