PHP增加和刪除數組元素(模仿堆棧和隊列)

有時候我們需要擴展一個數組,或者刪掉數組的一部分,PHP爲擴展和縮小數組提供了一些函數。對於那些希望模仿各種隊列實現(FIFO、LIFO)的程序員來說,這些函數可以提供便利。顧名思義,從這些函數的函數名(push、pop、shift和unshift)就清楚地反映出其作用。

PS:傳統的隊列是一種數據結構,刪除元素與加入元素的順序相同,就稱爲先進先出,或FIFO。相反,棧是另外一種數據結構,其中刪除元素的順序與加入時的順序相反,這成爲後進先出,或LIFO。

在數組頭添加元素

array_unshift()函數在數組頭添加元素。所有己有的數值鍵都會相應地修改,以反映其在數組中的新位置,但是關聯鍵不受影響。其形式如下:

1 int array_unshift(array array,mixed variable[,mixed variable])

下面這個例子在$fruits數組前面添加了兩種水果:

1 $fruits array("apple","banana");
2 array_unshift($fruits,"orange","pear")
3 // $fruits = array("orange","pear","apple","banana");

在數組尾添加元素

array_push()函數的返回值是int型,是壓入數據後數組中元素的個數,可以爲此函數傳遞多個變量作爲參數,同時向數組壓入多個變量。其形式爲:

1 (array array,mixed variable [,mixed variable...])

下面這個例子在$fruits數組中又添加了兩個水果:

1 $fruits array("apple","banana");
2 array_push($fruits,"orange","pear")
3 //$fruits = array("apple","banana","orange","pear")

從數組頭刪除值

array_shift()函數刪除並返回數組中找到的元素。其結果是,如果使用的是數值健,則所有相應的值都會下移,而使用關聯鍵的數組不受影響。其形式爲:

1 mixed array_shift(array array)

下面的例子刪除了$fruits數組中的第一個元素apple:

1 $fruits array("apple","banana","orange","pear");
2 $fruit array_shift($fruits);
3 // $fruits = array("banana","orange","pear")
4 // $fruit = "apple";

從數組尾刪除元素

array_pop()函數刪除並返回數組的最後一個元素。其形式爲:

1 mixed array_pop(aray target_array);

下面的例子從$states數組刪除了最後的一個州:

1 $fruits array("apple","banana","orange","pear");
2 $fruit array_pop($fruits);
3 //$fruits = array("apple","banana","orange");
4 //$fruit = "pear";

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章