【问题标题】:How to get array values from a JSON file in PHP? [duplicate]如何从 PHP 中的 JSON 文件中获取数组值? [复制]
【发布时间】:2019-05-19 02:35:49
【问题描述】:

我需要使用这些用户的 id 编写一个 foreach:

API 返回的数组:

{"users":[{"id":"14"},{"id":"19"}]}

我想根据每个用户 ID 发送邮件,这就是为什么我需要一个 foreach 语句。我该怎么做?

【问题讨论】:

  • 请至少试一试并向我们展示您的尝试。 json_decodeforeach 将在这里为您提供帮助。
  • 我正在使用 Pusher 的 websockets api。通道连接的返回值为: $response[ 'body' ] = {"users":[{"id":"14"},{"id":"19"}]} 我没有在 foreach 上获取数组值的经验
  • 然后阅读foreach上的手册,如果卡住了再回来
  • 已经做了,我只需要获取那些用户的ID,但是谢谢

标签: php arrays json string


【解决方案1】:

也许,在这里我们可以先json_decode,然后循环遍历users 并将username 可能使用id 值附加到数组:

$str = '{"users":[{"id":"14"},{"id":"19"}]}';

$array = json_decode($str, true);
foreach ($array["users"] as $key => $value) {
    $array["users"][$key]["username"] = "user_" . $value["id"];
}

var_dump($array);

输出

array(1) {
  ["users"]=>
  array(2) {
    [0]=>
    array(2) {
      ["id"]=>
      string(2) "14"
      ["username"]=>
      string(7) "user_14"
    }
    [1]=>
    array(2) {
      ["id"]=>
      string(2) "19"
      ["username"]=>
      string(7) "user_19"
    }
  }
}

【讨论】:

  • 谢谢!我这样做了: $str = '{"users":[{"id":"14"},{"id":"19"}]}'; $array = json_decode($str, true); foreach ($array["users"] as $key => $value) { echo $value['id'];并且输出是用户的 id,它起作用了
猜你喜欢
  • 2016-08-31
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 2019-05-23
  • 2015-01-12
相关资源
最近更新 更多