php三维数组取数实例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:49   3027   0
<?php


$data='{
"kf_list" : [
{
"kf_account" : "test1@test",
"kf_headimgurl" : "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0",
"kf_id" : "1001",
"kf_nick" : "ntest1",
"kf_wx" : "kfwx1"
},
{
"kf_account" : "test2@test",
"kf_headimgurl" : "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0",
"kf_id" : "1002",
"kf_nick" : "ntest2",
"kf_wx" : "kfwx2"
},
{
"kf_account" : "test3@test",
"kf_headimgurl" : "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0",
"kf_id" : "1003",
"kf_nick" : "ntest3",
"invite_wx" : "kfwx3",
"invite_expire_time" : 123456789,
"invite_status" : "waiting"
}
]
}';


//把json数据转化为array数组
$result=json_decode($data,true);


//把三维数组转化为二维数组
foreach ($result as $table) {
foreach ($table as $row) {
$arr[]=$row;
}
}
var_dump($arr);
// 取出列为kf_account的数组
// foreach ($arr as $key => $value) {
// $arr2[] = $value['kf_account'];
// }
// var_dump($arr2);

//取出列为kf_account的数组
// $arr2 = array_column($arr, 'kf_account');
// var_dump($arr2);

// 意为把$arr数组的每一项值的开头的值移出,并返回被移出的每一项值中被移出的值,注意此时新数组$arr2的键仍是原数组$arr的键
// $arr2 = array_map('array_shift',$arr);
// var_dump($arr2);


//如果需要获取的是二维数组的每一项的开头列或结尾列,也可以这样做:
// $arr2 = array_map('reset',$arr);
// var_dump($arr2);
// $arr2 = array_map('end',$arr);
// var_dump($arr2);


//还可以使用 array_reduc e方法,不过代码略多,不过这个方法的想象空间(针对别的数组取值操作)还是蛮大的
// $arr2 = array_reduce($arr, create_function('$result, $v', '$result[] = $v["kf_id"];return $result;'));
// var_dump($arr2);
?>
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP