好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

在php中数组量子力学个非常好用的数组类型,下面我来总结一些删除数组元素的各种方法,删除数组中的元素,第一想法是使用unset函数,它确实可以删除,但是可能会在后面操作该数组的时候出现问题。

通过下面的例子来说明,代码如下:

$arr  =  array (0, 1, 2, 3, 4);  $index  = 2;  unset( $arr [ $index ]);  echo   count ( $arr );  if  ( empty empty ( $arr [ $index ])) {       echo   "arr[$index] is empty" ;  }  print_r( $arr );  /*   输出为:   4   arr[2] is empty   Array([0] => 0 [1] => 1 [3] => 3 [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] =>   */  

如果想获取删除首位元素后的数组,则可以有两种方法,代码如下:

//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 是操作的对象,我们将删除其中的空元素

实例代码如下:

<?php       $array  = ( 'a'  =>  "abc" ,  'b'  =>  "bcd" , 'c'  => "cde" , 'd'  => "def" , 'e' => "" );       array_filter ( $array );       echo   "<pre>" ;      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');  

查看更多关于php 删除数组中的元素实例程序 - php数组的详细内容...

  阅读:40次