好得很程序员自学网

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

php 删除数组元素方法 - php数组

php 删除数组元素方法

在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法.

看一完整删除重复数组实例,代码如下:

//删除数组中的一个元素    function  array_remove_value(& $arr ,  $var ){   foreach  ( $arr   as   $key  =>  $value ) {   if  ( is_array ( $value )) {   array_remove_value( $arr [ $key ],  $var );   }  else  {   $value  = trim( $value );   if  ( $value  ==  $var ) {   unset( $arr [ $key ]);   }  else  {   $arr [ $key ] =  $value ;   }   }   }   } 

$a是一个数组:

<?php    $a = array ( "red" ,  "green" ,  "blue" ,  "yellow" );   count ( $a );  //得到4    unset( $a [1]);  //删除第二个元素    count ( $a );  //得到3    echo   $a [2];  //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,    echo   $a [1];  //无值    ?>  

也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值.

后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice(),代码如下:

<?php  $a = array ( "red" ,  "green" ,  "blue" ,  "yellow" );   count  ( $a );  //得到4    array_splice ( $a ,1,1);  //删除第二个元素    count  ( $a );  //得到3    echo   $a [2];  //得到yellow    echo   $a [1];  //得到blue    ?> 

方法二,删除数组中重复元素的函数,代码如下:

function  delmember(& $array ,  $id )   {   $size  =  count ( $array );   for ( $i  = 0;  $i  < $size  -  $id  - 1;  $i  ++)   {   $array [ $id  +  $i ] =  $array [ $id  +  $i  + 1];   }   unset( $array [ $size  - 1]);   } //开源软件:phpfensi测试数据

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

  阅读:41次