PHP中的多维JSON数组?

我对 JSON 不是很熟悉,更不用说将值从它提取到 PHP 中了,所以我在尝试这样做时遇到了一些头痛。


如果这不是嵌套/多维数组,这将是一个简单的搜索、复制和粘贴作业,但我遇到的问题是我只能从数组中提取第一个结果。当然,我的代码有点乱,因为我一直在尝试新方法并对其进行破解以试图获得预期的结果,但我不确定如何以仅提取信息的方式处理数据我正在寻找。


我非常感谢您提供的任何提示/建议,以指导我获取所有结果,而不仅仅是第一个结果。我确定这很简单,我只是没有看到,但我已经有一段时间了,最后决定我会寻求一些帮助。


这是我目前正在使用的 PHP 编码,它只得到一个结果:


$url = "https://somewhere.com/give-api/v1/donors/?key=***&token=***&number=999";

$data = file_get_contents($url);

$donors = json_decode($data, true);

$count = 0;

$output = array();


foreach ($donors as $donor) {

  $spent = substr($donor[$count]['stats']['total_spent'], 0, strpos($donor[$count]['stats']['total_spent'], "."));

  if ($spent != 0)

  {

    $level = check_spent($spent);

    //       ^ Custom function, just returns a level number based on the $spent value

    $output += [$spent, $level, $donor[$count]['info']['first_name'] . " " . $donor[$count]['info']['last_name']];

  }

  $count++;

}


echo '<pre>';

print_r($output);

echo '</pre>';


慕丝7291255
浏览 99回答 2
2回答

扬帆大鱼

看看你得到的数据json_decode,你可能会得到一个只有一个键的数组:donors.print_r($donors);如果是这样,请在迭代时执行此操作:foreach ($donors['donors'] as $donor) {&nbsp; // do your work}

哔哔one

$donors 是那里的整个地图, $donors["donors"] 是您需要迭代的地方
打开App,查看更多内容
随时随地看视频慕课网APP