php 删除数组中的元素实例程序

在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'); 
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php 删除数组中的元素实例程序
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡