增加資料元素有函數,array_push(),array_unshift()函數
一、在數組的末尾添加元素
1.array_push
使用方法
| 代碼如下 |
複製代碼 |
<?php $stack = array("orange", "banana"); array_push($stack, "apple", "raspberry"); print_r($stack); ?> 輸出: Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry ) 2.$arr[] 使用方法 <?php $arr = array("orange", "banana"); $arr[]='apple'; print_r($arr); ?> |
這兩種的效果是一樣的
注意:如果用 array_push() 來給數組增加一個單元,還不如用 $array[] = ,因為這樣沒有調用函數的額外負擔。
二、在數組開頭插入元素
1.array_unshift
使用方法
| 代碼如下 |
複製代碼 |
<?php $queue = array("orange", "banana"); array_unshift($queue, "apple", "raspberry"); print_r($queue); ?> 輸出 Array ( [0] => apple [1] => raspberry [2] => orange [3] => banana ) |
刪除數組元素unset,或直接設定空
如果要在某個數組中刪除一個元素,可以直接用的unset,但今天看到的東西卻讓我大吃一驚
| 代碼如下 |
複製代碼 |
<?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> print_r($arr)
|
之後,結果卻不是那樣的,最終結果是 Array ( [0] => a [2] => c [3] => d )
那麼怎麼才能做到缺少的元素會被填補並且數組會被重新索引呢?答案是array_splice():
| 代碼如下 |
複製代碼 |
<?php $arr = array('a','b','c','d'); array_splice($arr,1,1); print_r($arr); ?> print_r($arr)之後,結果是Array ( [0] => a [1] => c [2] => d ) |
刪除數組指定元素
如array_slice() 函數在數組中根據條件取出一段值,並返回.
array_slice(array,offset,length,preserve)
array:數組
offset: 規定取出元素的開始位置。如果是正數,則從前往後開始取,如果是負值,從後向前取 offset 絕對值。
| 代碼如下 |
複製代碼 |
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?> 輸出 Array ( [0] => Cat [1] => Horse ) |
還有array_shift() 函數刪除數組中的第一個元素,並返回被刪除元素的值.
相對的array_pop() 函數刪除數組中的最後一個元素.
幾個函數用下來覺得array_search()比較實用
array_search() 函數與 in_array() 一樣,在數組中尋找一個索引值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false
| 代碼如下 |
複製代碼 |
$array = array('1', '2', '3', '4', '5');
$del_value = 3; unset($array[array_search($del_value , $array)]);//利用unset刪除這個元素 print_r($array); 輸出 array('1', '2', '4', '5'); |