用PHP读取JSON

用PHP读取JSON,php,json,complextype,Php,Json,Complextype,我如何阅读特质和特长。。。项目->特征和项目->特征[0]似乎不起作用! 请引导我通过它 $data=json\u解码$json; foreach$data->items as$playerdata { /* 我试过了 $traits=$playerdata->traits; 和 $traits=$playerdata->traits[0]; 和 $traits=$playerdata[0]->traits虽然我不知道为什么 */ } 我想将traits和specialities中的所有值分别

我如何阅读特质和特长。。。项目->特征和项目->特征[0]似乎不起作用! 请引导我通过它

$data=json\u解码$json; foreach$data->items as$playerdata { /* 我试过了 $traits=$playerdata->traits; 和 $traits=$playerdata->traits[0]; 和 $traits=$playerdata[0]->traits虽然我不知道为什么 */ }

我想将traits和specialities中的所有值分别存储在$traits和$specialities中

请忽略语法错误。。我希望您能了解一般要点

使用php中的json_decode函数对字符串进行解码。然后你有一个数组,你可以访问它


您需要使用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_string);

从var_dump中,您可以看到traits和speciality都是数组,然后您可以简单地将它们作为数组访问,或者编写一个函数来接受数组并返回您要查找的内容。

好的。。那么它将如何工作呢..假设我将其解码为$data$数据[items][traits]?var_转储解码后的数组,然后看看如何处理。我想首先你必须重复你的项目是的..我意识到。。所以它的$data[items][$i][traits]?foreach$data->items as$playerdata这是我的foreach。。现在,如果我将其解码为$data,如何访问我无法获取的数据$数据[项目][$i][traits]??@mageshkumar$data->items[$i]->traitsforeach$data->items as$playerdata。。这是我的每一份声明。。在它里面我尝试了$traits=$playerdata->$traits和$traits=$playerdata->traits[0]你能提供完整的foreach吗,因为我不明白你想访问什么?是的,我已经提供了:谢谢顺便说一句,这不是有效的json,第一个键应该被引用。如果这真的是你的字符串,json_解码将不起作用。这是一个输入错误,我认为这是相当明显的…这是怎么明显的?哦,对不起,给你:谢谢你提到这一点,是的,伙计。。这很有效。。但是,请您告诉我如何将$traits[]数组作为单个值存储在一个表中,例如在traits列下显示单个traits在表列中使用forloop在数组中$traits for$i=0$我
$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";
}
$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";
}
<?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>";

?>