php的数组问题,一个二维数组怎么取出里面的部分元素组成一个新数组?

比如这个二维数组:
$arr=Array
(
[0] => Array
(
[id] => 2
[nickname] => chenjudong
[email] =>
)

[1] => Array
(
[id] => 8
[nickname] => 天使爱美丽
[email] =>
)

[2] => Array
(
[id] => 15
[nickname] => 倩,我是宁采臣
[email] =>
)

[3] => Array
(
[id] => 1
[nickname] => ruiwurensheng
[email] =>
)

[4] => Array
(
[id] => 11
[nickname] => 我爱爱坏心情
[email] =>
)
)
怎么变成:
$arr=Array
(
[0] => Array
(
[id] => 2
[nickname] => chenjudong
)

[1] => Array
(
[id] => 8
[nickname] => 天使爱美丽
)

[2] => Array
(
[id] => 15
[nickname] => 倩,我是宁采臣
)

[3] => Array
(
[id] => 1
[nickname] => ruiwurensheng
)

[4] => Array
(
[id] => 11
[nickname] => 我爱爱坏心情
)
)

$arr=array(array('id'=>2,'nickname'=>'chenjudong','email'=>''), array ('id'=>8,'nickname'=>'天使爱美丽','email'=>''));

$arrNew=array();

foreach($arr as $k=>$v){

 $arrNew[$k]=array('id'=>$v['id'],'nickname'=>$v['nickname']);

}

print_r($arrNew);
//重新循环下读取id、nickname组成新数组

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-14
foreach ($arr as &$value) {
    foreach($value as $k=>$v){
        if($v == ''){ //假定'email'=>'',或者自己换成合用的,如if($k == 'email')
            unset($value[$k]);
        }
    }
}

追问

谢谢,但是这里的email只是暂时为空呢,email都是有数据的,相当于去掉email这个元素,要怎么去呢?

追答//只是email的话,下面这个就够了
foreach ($arr as &$value) {
    if(isset($value['email'])){
        unset($value['email']);
    }
}

php的数组问题,一个二维数组怎么取出里面的部分元素组成一个新数组?
arr=array(array('id'=>2,'nickname'=>'chenjudong','email'=>''), array ('id'=>8,'nickname'=>'天使爱美丽','email'=>''));$arrNew=array();foreach($arr as $k=>$v){ $arrNew[$k]=array('id'=>$v['id'],'nickname'=>$v['nickname']);}print_r($arrNew);\/\/重...

PHP将二维数组中某个值都取出来组成一个新的数组
\/\/方法一$a="1-3,1-2,2-1";$arr1 = explode(',', $a);foreach ($arr1 as $v){ $tmp = explode('-', $v); $arr2[] = $tmp[0];}print_r($arr2);\/\/方法二preg_match_all("\/\\d+(?=-)\/", $a, $matches);print_r($matches);...

php 如何取二维数组中某个值,并组合成另一个一维数组进行implode
<?php$array=array('0'=>array('name'=>'aaa','id'=>'22222'),'1'=>array('name'=>'bbb','id'=>'333'));$new = array();foreach ($array as $v){ $new[]=$v['id'];}$num = join(',',$new);echo $num;?> ...

php将二维数组值数组里某一个键值一样的拼装成一个三维数组
php $indexArr = array(); $newArr = array(); foreach ($sourceArr as $v) { \/\/ 判断该order_id是否已经存在于新数组中 if (array_key_exists($v['order_id'], $indexArr)) { \/\/ 获取该order_id在新数组中的位置 $k = $indexArr[$v['order_id']]; ...

PHP如何取出二维数组内的值?
如果你设计用数组存储,就直接 arr1['LoginResult']['error'] = "此个人编码不存在";json存储就{"LoginResult":{"error":"此个人编码不存在"}} 调用方式是$json->LoginResult->error

php 两个二维数组比较,从第一个二维数组中,将第二个二维数组不同项挑选...
方法是使用array_udiff函数。代码如下:function diff_arr($a, $b){ return $a["id"] > $b["id"] ? 1 : ($a["id"] < $b["id"] ? -1 : 0);} print_r(array_udiff($arr0, $arr1, "diff_arr"));

PHP中怎么从一个二维数组中随机取出一个值?
回答:用array_rand()函数就可以实现。 array_rand():从数组中随机选出一个或多个元素,并返回。 语法:array_rand(array,number) array:必需。规定输入的数组参数。 number:可选。默认是 1。规定返回多少个随机的元素。 例子:$a = ['a','b','c'];\/\/定义一个二维数组 $b = $array_rand($...

php中如何把原数组中的一列取出来组成新数组
arr = array();for($i = 1;$i<30;$i++){$arr['key'.$i] = 'value'.$i;}$arr2 = array_splice($arr, 5 , 10); \/\/从第五个开始,取十个print_r($arr); \/\/原数组print_r($arr2); \/\/新数组

php 怎样把一个二维数组合并一个数组
array_merge — 合并一个或多个数组 array array_merge ( array $array1 [, array $... ] )array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,...

php从数组中随机取几个元素组成新的数组
1、a = array(1,2,3,4,5,6,7,8,9,10);b = array_rand($a,5);foreach($b as $k=>$v){ arr[]=$a[$v];} print_r($arr);2、arr=$a;shuffle($arr);arr=array_slice($arr,0,5);print_r($arr);

相似回答