php 刪除數組中的元素實例程序
來源:程序員人生 發布時間:2014-02-16 13:18:04 閱讀次數:2430次
在php中數組量子力學個非常好用的數組類型,下面我來總結一些刪除數組元素的各種方法,刪除數組中的元素,第一想法是使用unset函數,它確實可以刪除,但是可能會在后面操作該數組的時候出現問題。
通過下面的例子來說明,代碼如下:
- $arr = array(0, 1, 2, 3, 4);
- $index = 2;
- unset($arr[$index]);
- echo count($arr);
- if (emptyempty($arr[$index])) {
- echo "arr[$index] is empty";
- }
- print_r($arr);
-
-
-
-
-
-
從上面的輸出結果可以看到數組的長度是正常的,但是下標還是保持原來的,所以按照下標去獲取元素就會出問題,另外此方法對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);
-
-
-
-
-
-
-
如果想獲取刪除首位元素后的數組,則可以有兩種方法,代碼如下:
-
- $arr = array(0, 1, 2, 3, 4);
- array_splice($arr, 0, 1);
-
- $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);
-
- /$fruit = "pear";
array_filter()刪除數組中的空元素
函數名:array_filter()
調用方式:array_filter($array)
參數說明:$array 是操作的對象,我們將刪除其中的空元素
實例代碼如下:
- <?php
- $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
- array_filter($array);
- echo "<pre>";
- print_r($array);
- ?>
-
-
-
-
-
-
-
-
幾個函數用下來覺得array_search()比較實用
array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值,如果找到了該值,匹配元素的鍵名會被返回,如果沒找到,則返回 false,代碼如下:
- $array = array('1', '2', '3', '4', '5');
- $del_value = 3;
- unset($array[array_search($del_value , $array)]);
- print_r($array);
-
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈