php如何去掉数组中某个或某些值
feilong.org 修订于2012-02-02 12:40:26 您好,第 225 位朋友!如何去掉数组中的某个或某一些值?可以采用php函数array_filter()过滤,或者用array_diff() 函数,返回两个数组的差集数组。
array_filter() 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果没有提供 callback 函数,array_filter() 将删除 array 中所有等值为 FALSE 的条目。
//当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值 function delEmpty($v){ if($v==='' || $v==='php'){ return false; } return true; } $a=array(0=>'pig',1=>'Cat',2=>'',3=>'php',4=>'feilong'); //当数组中存在空值和php值时,array_filter 可以去掉该数组中的空值和php值,但剩下来的 key不变 $b=array_filter($a,"delEmpty"); print_r($b); //sort 可以重组key和数组 sort($b); print_r($b); |
array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。在返回的数组中,键名保持不变。
//当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值 $postid=88; $old=array(3,5,48,9,22,177,90); if(in_array($postid,$old)){ echo '已经有了,该去掉'; $a2[]=$postid; //从数组中去掉此 $postid,返回两个数组的差集数组。键名保持不变。 $new=array_diff($old,$a2);// $old-$a2 print_r($new); }else{ $new=$old;$new[]=$postid; print_r($new); }//feilong.org 20120202 |
更新网址:https://feilong.org/php-array-filter-or-diff
最初发布:20120202 12:40:26 feilong.org 于广州
加入收藏夹,查看更方便。
所在分类: 网站开发