PHP通过除去空键

我需要从阵列获取数据简化JSON数组,但输出总是变化,从而有时它有更多的空键等PHP通过除去空键

$id = "1"; 

$url = file_get_contents("http://example.com/?api={$id}");

$json = json_decode($url, true);

foreach($json as $data)

{

echo $data[0][0]["test"];

}

的问题是,从它打印值必须始终将空键的数量设置为echo $data[0][0]["test"];

无论有多少空键,在任何情况下如何才能使echo $data["test"];成为可能?

编辑: JSON数组

[ 

[

{

"test: "testing"

}

]

]

回答:

function printValue($array) 

foreach($array as $value){

if(is_array($value)){

printValue($value)

}

else

echo $value;

}

}

基本上是一个递归函数,如果值是array向下挖掘它在其他打印值。

这将适用于所有的深度,无论是在二级还是四级。

回答:

之前只需使用json_decode一次每个。例如:$ json = json_decode(json_decode($ url));

回答:

你可以为了创建一个递归函数来搜索键和返回它:

$json = '[ 

[

{

"test" : "testing"

}

]

]';

//Cast to array the json

$array = json_decode($json,true);

echo searchKey("test",$array);

function searchKey($key,$array) {

//If key is defined, print it

if (isset($array[$key])) {

return $array[$key];

}

//Else, search deeper

else {

foreach ($array as $value) {

if (is_array($value)) {

return searchKey($key,$value);

}

}

}

}

以上是 PHP通过除去空键 的全部内容, 来源链接: utcz.com/qa/266680.html

回到顶部