我试图在我的PHP中将JSON文件中的信息作为数组获取,以便将其放入我的数据库中。在这个简单的例子中,我的代码可以工作:
{
"tiles":[179, 199, 198, 198, 160, 198, 180, 199, 178, 160, 180, 180, 198, 160]
}
$string = file_get_contents(FileDestination);
$worldarray = json_decode($string, true);
foreach($worldarray['tiles'] as $item) {
mysqli_query($link, 'INSERT INTO blabla (test) VALUES('.$item.')');
}
然而,碰巧我的JSON文件有点复杂:
{ "height":32,
"layers":[
{
"data":[179, 199, 198, 198, 160, 198, 180, 199, 178, 160, 180, 180, 198, 160, 178,],
"height":32,
"name":"Tile Layer 1",
"opacity":1,
"type":"tilelayer",
"visible":true,
"width":32,
"x":0,
"y":0
},
等等。我需要Layers中的信息>数据。我试过以各种方式访问它,比如使用:$ worldarray ['layers'] ['data']但我似乎无法从数据中获取值。谁能帮我这个?提前谢谢。
答案 0 :(得分:1)
由于layers
是一个数组,您应该在访问时提供索引,例如:
$worldarray['layers'][0]['data']
如果你当然有更多层,你应该迭代它们。
答案 1 :(得分:1)
请查看我的PHPFiddle:http://phpfiddle.org/main/code/673-dmb
答案 2 :(得分:1)
$json = file_get_contents('url_here');
$obj = json_decode($json);
echo $obj->access_token;
尝试这种方式。我希望它可以帮到你
答案 3 :(得分:0)
感谢大家的帮助,现在突然使用$ array ['layers'] [0] ['data']。尽管之前几次都没有奏效。