首页 > 解决方案 > 使用 Laravel Array 获取大量数据

问题描述

PHP代码:

$firstData =array (
  '000' => array (
  '000' => array (
   0 => '{"code":"11101000000","postal":"3310000"}',
    ),
  ),
  '000' => array (
  '000' =>array (
  0 => '{"code":"11101001000","postal":"3310058"}',
    ),
  ),
  '000' => array (
  '000' => array (
  0 => '{"code":"11101002000","postal":"3310068"}',
    ),
  ),
  '000' => array (
  '000' => array (
  0 => '{"code":"11101035001","postal":"3310078"}',
    ),
 ),  
);
$array_from_json = json_decode($firstData['000']['000'][0], true);
echo( $array_from_json['postal']);

输出结果:

我想变成这样。

你可以帮帮我吗?

标签: arraysjsonlaravel

解决方案


你的数组是错误的。您的顶级数组中有相同的键(它们都是 000 ),这就是您的问题。尝试像这样更改它们:

$firstData =array (
  '1' => array (
      '000' => array (
            0 => '{"code":"11101000000","postal":"3310000"}',
        ),
    ),
  '2' => array (
      '000' =>array (
            0 => '{"code":"11101001000","postal":"3310058"}',
        ),
    ),
  '3' => array (
      '000' => array (
            0 => '{"code":"11101002000","postal":"3310068"}',
        ),
    ),
  '4' => array (
      '000' => array (
            0 => '{"code":"11101035001","postal":"3310078"}',
        ),
    ),  
);

然后您可以访问您的邮政领域:

foreach($firstData as $data) {
    $array_from_json = json_decode($data['000'][0], true);
    echo($array_from_json['postal']);
}

推荐阅读