国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 刪除數組中的元素實例程序

2024-09-04 11:45:55
字體:
來源:轉載
供稿:網友

在php中數組量子力學個非常好用的數組類型,下面我來總結一些刪除數組元素的各種方法,刪除數組中的元素,第一想法是使用unset函數,它確實可以刪除,但是可能會在后面操作該數組的時候出現問題。

通過下面的例子來說明,代碼如下:

  1. $arr = array(0, 1, 2, 3, 4); 
  2. $index = 2; 
  3. unset($arr[$index]); 
  4. echo count($arr); 
  5. if (emptyempty($arr[$index])) { 
  6.     echo "arr[$index] is empty"
  7. print_r($arr); 
  8. /* 
  9. 輸出為: 
  10. 4 
  11. arr[2] is empty 
  12. Array([0] => 0 [1] => 1 [3] => 3 [4] => 
  13. */ 

從上面的輸出結果可以看到數組的長度是正常的,但是下標還是保持原來的,所以按照下標去獲取元素就會出問題,另外此方法對key-value形式的數組是安全的。

如何安全的刪除元素呢?可以使用array_splice函數。array_splice()的用途是刪除原始數組中指定的一系列元素,并用其他值代替(如果指定),返回值是被刪除的元素,代碼如下:

  1. $arr = array(0, 1, 2, 3, 4); 
  2. $rtn = array_splice($arr, 2, 1); 
  3. echo count($arr); 
  4. print_r($arr); 
  5. print_r($rtn); 
  6. /* 
  7. 輸出為: 
  8. 4 
  9. Array 
  10. ([0] => 0 [1] => 1 [2] => 3 [3] => 4) 
  11. Array([0] => 
  12. */ 

如果想獲取刪除首位元素后的數組,則可以有兩種方法,代碼如下:

  1. //1、 
  2. $arr = array(0, 1, 2, 3, 4); 
  3. array_splice$arr, 0, 1); 
  4. //2、 
  5. $arr = array(0, 1, 2, 3, 4); 
  6. $arr = array_splice$arr, 1); 

還有array_shift() 函數刪除數組中的第一個元素,并返回被刪除元素的值,相對的array_pop() 函數刪除數組中的最后一個元素.

array_pop()函數刪除并返回數組的最后一個元素,其形式為:

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"

array_filter()刪除數組中的空元素

函數名:array_filter()

調用方式:array_filter($array)

參數說明:$array 是操作的對象,我們將刪除其中的空元素

實例代碼如下:

  1. <?php 
  2.     $array = ('a' => "abc"'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>""); 
  3.     array_filter($array); 
  4.     echo "<pre>"
  5.     print_r($array); 
  6. ?> 
  7. /*結果: 
  8. Array ( 
  9.      [a] => abc 
  10.      [b] => bcd 
  11.      [c] => cde 
  12.     [d] => def 
  13.    ) 
  14. */ 

幾個函數用下來覺得array_search()比較實用

array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值,如果找到了該值,匹配元素的鍵名會被返回,如果沒找到,則返回 false,代碼如下:

  1. $array = array('1''2''3''4''5'); 
  2. $del_value = 3; 
  3. unset($array[array_search($del_value , $array)]);//利用unset刪除這個元素 
  4. print_r($array); 
  5. //輸出 array('1', '2', '4', '5'); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邛崃市| 新疆| 凌源市| 临朐县| 巴林左旗| 鲁山县| 甘泉县| 临清市| 彭阳县| 朔州市| 福建省| 施甸县| 元谋县| 罗甸县| 兰考县| 肥东县| 肃南| 镇江市| 仁怀市| 裕民县| 泉州市| 潼关县| 含山县| 福鼎市| 天等县| 长春市| 尼玛县| 凤翔县| 内黄县| 宁河县| 保亭| 潮州市| 鱼台县| 安义县| 留坝县| 鹿泉市| 西城区| 香格里拉县| 滕州市| 绥宁县| 绥宁县|