好得很程序员自学网

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

php数组删除元素各种方法总结 - php数组

php数组删除元素各种方法总结

有很多朋友都不知道怎么把数组中元素给删除,下面我来总结各种数组删除元素方法给各位.

删除数组指定元素, 代码如下:

<?php  $a = array (0=> "Dog" ,1=> "Cat" ,2=> "Horse" ,3=> "Bird" );  print_r( array_slice ( $a ,1,2));  ?>  //输出   Array ( [0] => Cat [1] => Horse ) 

几个函数用下来觉得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' ); 

从数组头删除值

array_shift()函数删除并返回数组中找到的元素,其结果是,如果使用的是数值健,则所有相应的值都会下移,而使用关联键的数组不受影响,其形式为:

mixed array_shift(array array)

下面的例子删除了$fruits数组中的第一个元素apple,代码如下:

$fruits  =  array ( "apple" , "banana" , "orange" , "pear" );  $fruit  =  array_shift ( $fruits );  // $fruits = array("banana","orange","pear")   // $fruit = "apple";  

从数组尾删除元素

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";  

删除数组中间的元素, 代码如下:

function  deleteElementFromArr( $arr ,  $index ){   if ( $index  <  count ( $arr )-1){   unset( $arr [ $index ]);   reset( $arr );   }   return   $arr ;   } 

我封装成了一个函数,方便大家使用,代码如下:

<?php  function  array_remove(& $arr ,  $offset )   {   array_splice ( $arr ,  $offset , 1);   }  $arr  =  array ( 'apple' , 'banana' , 'cat' , 'dog' );  array_remove( $arr , 2);   print_r( $arr );   ?> 

删除数组重复元素, 代码如下:

<?php   function  assoc_unique( $arr ,  $key ) {   $tmp_arr  =  array ();   foreach ( $arr   as   $k  =>  $v ) {   if (in_array( $v [ $key ],  $tmp_arr )) {   unset( $arr [ $k ]);   }  else  {   $tmp_arr [] =  $v [ $key ];   }   }   sort( $arr );   return   $arr ;   }  $aa  =  array (   array ( 'id'  => 123,  'name'  =>  '张三' ),   array ( 'id'  => 123,  'name'  =>  '李四' ),   array ( 'id'  => 124,  'name'  =>  '王五' ),   array ( 'id'  => 125,  'name'  =>  '赵六' ),   array ( 'id'  => 126,  'name'  =>  '赵六' )   );   $key  =  'name' ;   assoc_unique(& $aa ,  $key );   print_r( $aa );   ?>

查看更多关于php数组删除元素各种方法总结 - php数组的详细内容...

  阅读:44次