{"items":[
{
"name":"xyz",
"traits":["a","b","c","d"],
"specialities":["a","b","c","d"]
},
{
"name":"abc",
"traits":["a","b","c","d"],
"specialities":["a","b","c","d"]
}
]}
Как я читаю traits
а также specialities
… items->traits
а также items->traits[0]
не похоже на работу!
Проведите меня через это, пожалуйста
$data=json_decode($json);
foreach($data->items as $playerdata)
{
/*
I tried
$traits=$playerdata->traits;
and
$traits=$playerdata->traits[0];
and
$traits=$playerdata[0]->traits (althought i dont know why)
*/
}
Я хочу хранить все значения внутри traits
а также specialities
внутри $traits
а также $specialities
соответственно
П.С .: Пожалуйста, не обращайте внимания на синтаксические ошибки. Надеюсь, вы получите общее представление.
вам нужно использовать функцию json_decode (),
$my_object = json_decode($json_string);
тогда вы должны иметь возможность получить к нему доступ, как вы обычно делаете с объектами
это пример того, как вы должны это сделать
<?php
$json = '{"items":[ { "name":"xyz", "traits":["a","b","c","d"], "specialities":["a","b","c","d"] }, { "name":"abc", "traits":["a","b","c","d"], "specialities":["a","b","c","d"] } ]}';
$my_object = json_decode($json);
var_export($my_object->items[0]->name);
и вот как вы можете получить доступ к чертам и специальностям
$traits = [];
$specialities = [];
echo "the traits are:\n";
foreach($my_object->items as $item)
{
var_dump($item->traits);
$traits[] = $item->traits;
echo "\n";
}
echo "\n\n";
echo "the specialities are:\n";
foreach($my_object->items as $item)
{
var_dump($item->specialities);
$specialities[] = $item->specialities;
echo "\n";
}
от var_dump
ты это видишь traits
а также specialities
оба являются массивами, тогда вы можете просто обращаться к ним как к массиву или написать функцию, которая принимает массив и возвращает то, что вы ищете.
Использовать json_decode
Функция из PHP и декодировать строку. Тогда у вас есть массив, и вы можете получить к нему доступ.
<?php
$d = '{"items":[
{
"name":"xyz",
"traits":["a","b","c","d"],
"specialities":["a","b","c","d"]
},
{
"name":"abc",
"traits":["a","b","c","d"],
"specialities":["a","b","c","d"]
}
]}';
$h = json_decode($d);
foreach($h->items as $i){
$traits[] = $i->traits;
$specialities[] = $i->specialities;
}
echo "<pre>";
print_r($specialities);
echo "<pre>";
?>