Я знаю, что этот вопрос был задан, но у меня все еще возникают проблемы с его правильным ответом
{
"status": "400",
"msg": "List Of Lotteries",
"lotteryRes": {
"result": {
"Disawar": [
"Disawar"
],
"DL Bazzar": [
"DL Bazzar"
],
"Faridabad": [
"Faridabad"
],
"Gaziyabad": [
"Gaziyabad"
],
"X90": [
"X90"
],
"Gali": [
"Gali"
],
"RAJASTHAN ROYAL": [
"RAJASTHAN ROYAL"
],
"Rajasthan Bazaar": [
"Rajasthan Bazaar"
]
},
"lottery_date": [
"2018-03-25 05:30:00",
"2018-03-31 15:20:00",
"2018-03-30 18:15:00",
"2018-03-31 20:20:00",
"2018-04-04 23:00:00",
"2018-04-02 23:25:00",
"2018-04-14 16:00:00",
"2018-04-13 14:00:00"
]
}
}
Я хочу отображать такие данные, как
<option>Disawar 2018-03-25 05:30:00</option>
<option>DL Bazar 2018-03-31 15:20:00</option>
для каждого элемента выше - соответствующая дата и время, я пробовал, но это дает мне такие ошибки, как: преобразование массива в строку и некоторые другие ошибки
$json = file_get_contents('url');
$obj = json_decode(stripslashes($json),true);
echo "<a href='#' class='dropdown-toggle' data-toggle='dropdown' role='button' aria-haspopup='true' aria-expanded='false'> $obj[msg];<span class='caret'></span></a>
<ul class='dropdown-menu'>
<li>$obj[lotteryRes]</li>
Есть идеи, как это сделать?






как насчет этого :
$obj[2].lottery_date
Попробуйте это, json немного странный, поэтому сбросьте массивы на числовые ключи, а затем используйте ключи, чтобы получить значение даты:
$array = json_decode($json, true);
foreach (array_values($array['lotteryRes']['result']) as $key => $result) {
echo array_values($result)[0].' '.$array['lotteryRes']['lottery_date'][$key].PHP_EOL;
}
Результат:
Disawar 2018-03-25 05:30:00
DL Bazzar 2018-03-31 15:20:00
Faridabad 2018-03-30 18:15:00
Gaziyabad 2018-03-31 20:20:00
X90 2018-04-04 23:00:00
Gali 2018-04-02 23:25:00
RAJASTHAN ROYAL 2018-04-14 16:00:00
Rajasthan Bazaar 2018-04-13 14:00:00
Затем просто примените HTML, чтобы получить желаемый результат.