みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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"
}
]

投稿日時 - 2017-07-20 21:32:25

QNo.9354033

暇なときに回答ください

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

こんな感じでしょうか?

<?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;
}

投稿日時 - 2017-07-24 02:31:49

お礼

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

投稿日時 - 2017-07-24 22:15:36

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問