• ベストアンサー

json の値から日付を返したい PHP

以下のような json がありPHP内の id にいろいろな整数が入るときに 1から49までは 2017/7/18、50から99までは 2017/7/19 100以上は 2017/7/20 のように日付を返すにはどのような処理をすればいいですか。 [ { "id": 1, "date": "2017/7/18" }, { "id": 50, "date": "2017/7/19" }, { "id": 100, "date": "2017/7/20" } ]

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

こんな感じでしょうか? <?php $json = '[ { "id": 1, "date": "2017/7/18" }, { "id": 50, "date": "2017/7/19" }, { "id": 100, "date": "2017/7/20" } ]'; $data = json_decode($json); $testdata = array(1,49,50,51,99,100,101); foreach ($testdata as $test) { printf('%d:%s<br>', $test, get_ymd($test, $data)); } function get_ymd($id, $data) { $ret = false; foreach ($data as $obj) { if ($obj->id <= $id) { $ret = $obj->date; } } return $ret; }

nixaht
質問者

お礼

ありがとうございます。意図した処理が出来ました。

関連するQ&A