在php中數組量子力學個非常好用的數群組類型,下面我來總結一些刪除數組元素的各種方法,刪除數組中的元素,第一想法是使用unset函數,它確實可以刪除,但是可能會在後面操作該數組的時候出現問題。
通過下面的例子來說明:
| 代碼如下 |
複製代碼 |
$arr = array(0, 1, 2, 3, 4); $index = 2; unset($arr[$index]); echo count($arr); if (empty($arr[$index])) { echo "arr[$index] is empty"; } print_r($arr); 輸出為: 4 arr[2] is empty Array([0] => 0 [1] => 1 [3] => 3 [4] => |
4)從上面的輸出結果可以看到數組的長度是正常的,但是下標還是保持原來的,所以按照下標去擷取元素就會出問題。另外此方法對key-value形式的數組是安全的。
如何安全的刪除元素呢?可以使用array_splice函數。array_splice()的用途是刪除原始數組中指定的一系列元素,並用其他值代替(如果指定),傳回值是被刪除的元素。
| 代碼如下 |
複製代碼 |
$arr = array(0, 1, 2, 3, 4); $rtn = array_splice($arr, 2, 1); echo count($arr); print_r($arr); print_r($rtn); 輸出為: 4 Array ([0] => 0 [1] => 1 [2] => 3 [3] => 4) Array([0] => |
2)如果想擷取刪除首位元素後的數組,則可以有兩種方法:
| 代碼如下 |
複製代碼 |
1、 $arr = array(0, 1, 2, 3, 4); array_splice($arr, 0, 1); 2、 $arr = array(0, 1, 2, 3, 4); $arr = array_splice($arr, 1); |
還有array_shift() 函數刪除數組中的第一個元素,並返回被刪除元素的值.
相對的array_pop() 函數刪除數組中的最後一個元素.
array_pop()函數刪除並返回數組的最後一個元素。其形式為:
mixed array_pop(aray target_array);
下面的例子從$states數組刪除了最後的一個州:
| 代碼如下 |
複製代碼 |
$fruits = array("apple","banana","orange","pear"); $fruit = array_pop($fruits); //$fruits = array("apple","banana","orange"); //$fruit = "pear"; |
array_filter()刪除數組中的空元素
函數名:array_filter()
調用方式:array_filter($array)
參數說明:$array 是操作的對象,我們將刪除其中的空元素
執行個體:
| 代碼如下 |
複製代碼 |
$array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>""); array_filter($array); echo " "; print_r($array); ?> 結果: Array ( [a] => abc [b] => bcd [c] => cde [d] => def ) |
幾個函數用下來覺得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'); |
http://www.bkjia.com/PHPjc/631257.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631257.htmlTechArticle在php中數組量子力學個非常好用的數群組類型,下面我來總結一些刪除數組元素的各種方法,刪除數組中的元素,第一想法是使用unset函數,它...