php三维数组取数实例

来源:互联网 发布:秋冬季棉拖鞋淘宝 编辑:程序博客网 时间:2024/06/06 01:15
<?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);
 ?>