為了方便開發(fā),PHP這種弱類型語言也支持關(guān)聯(lián)數(shù)組。與普通數(shù)組不同的地方是,關(guān)聯(lián)數(shù)組中的每個(gè)元素都有一個(gè)相應(yīng)的鍵值對(duì),而不是像普通數(shù)組那樣使用數(shù)字索引。
這時(shí)需要用到=>"符號(hào),其實(shí)就是PHP中定義數(shù)組時(shí)用來指定鍵和值之間對(duì)應(yīng)關(guān)系的分隔符。這個(gè)符號(hào)也被稱為數(shù)組單箭頭操作符,或者箭頭運(yùn)算符。舉個(gè)例子:
$person = array( "name" => "John", "age" => 25, "country" => "USA" );
在這個(gè)例子中,$person是一個(gè)關(guān)聯(lián)數(shù)組,它有3個(gè)元素:name對(duì)應(yīng)"John",age對(duì)應(yīng)25,country對(duì)應(yīng)"USA"。
除了上面示范的簡(jiǎn)單方式外,箭頭符還可以用在函數(shù)參數(shù)傳遞(函數(shù)也可以返回?cái)?shù)組):
function showArray($someArray){ foreach($someArray as $key => $value){ echo "Key: " . $key . " Value: " . $value . "<br>"; } } $person = array( "name" => "John", "age" => 25, "country" => "USA" ); showArray($person);
在這個(gè)例子中,showArray函數(shù)接受一個(gè)參數(shù)$someArray,它是一個(gè)數(shù)組。在函數(shù)體內(nèi)遍歷這個(gè)數(shù)組,并輸出每個(gè)元素對(duì)應(yīng)的鍵和值。調(diào)用這個(gè)函數(shù)時(shí),參數(shù)$person使用了箭頭符來表示一一對(duì)應(yīng)的鍵值關(guān)系,在函數(shù)體內(nèi),這些鍵值對(duì)按照定義的順序被遍歷。
箭頭符還可以用于鏈?zhǔn)秸{(diào)用,比如在框架中:
$data = $this->model->getData();
這個(gè)語句調(diào)用了$this對(duì)象下的model屬性,返回這個(gè)屬性執(zhí)行g(shù)etData方法的結(jié)果。箭頭符的使用在一次鏈?zhǔn)秸{(diào)用中允許使用多個(gè)對(duì)象,這在相對(duì)復(fù)雜的代碼中非常有用。
需要注意的是,箭頭符不僅僅是用來定義關(guān)聯(lián)數(shù)組的。它也可以用在對(duì)象中,表示訪問對(duì)象的屬性和方法,不過這個(gè)話題超出了文章的范圍。總之,在開發(fā)中,箭頭符有著多方面的作用,掌握使用技巧可以提高開發(fā)效率。