Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何确定是否设置了JSON数组,如果是,如何输出它_Php_Arrays_Json - Fatal编程技术网

Php 如何确定是否设置了JSON数组,如果是,如何输出它

Php 如何确定是否设置了JSON数组,如果是,如何输出它,php,arrays,json,Php,Arrays,Json,因此,我使用var\u dump()得到了以下JSON: 现在我想检查0,1,2。。。设置或不设置,然后输出“物品”和金额(如果有) 最优化的方法是什么?丑陋的7如果不是,或者?您可以使用来迭代数组,并将JSON转换为PHP对象,然后打印特定属性 foreach ($your_array as $key => $value) { if ($value != 'null') { $data = json_decode($value); echo $da

因此,我使用
var\u dump()
得到了以下JSON:

现在我想检查0,1,2。。。设置或不设置,然后输出“物品”和金额(如果有)

最优化的方法是什么?丑陋的7如果不是,或者?

您可以使用来迭代数组,并将JSON转换为PHP对象,然后打印特定属性

foreach ($your_array as $key => $value) {
    if ($value != 'null') {
        $data = json_decode($value);
        echo $data->article;
    }
}

一圈?没有任何上下文很难知道…它看起来不像JSON。看起来像var_dump()。使用json_encode($your_array)来显示真正的json。这看起来更像是一个可以编码为json的字符字符串。@zoonman json_encode返回以下内容:当前它是var_dump()的输出,这是使用array_filter($your_array)更简单的方法。在你的例子中,数组_过滤器不需要第二个参数,因为你的数组包含null,这将被视为false并在结果中被忽略。好的,我们现在有了“文章”,但是如何检查它是否被设置,以及如何检查金额是否被设置?你知道
foreach
语句是如何工作的吗?阅读PHP网站上的文档(我在答案中链接了它)。你不需要7个if,只要循环中的一个。哦,该死,我感到羞耻。非常感谢。我认为if正在检查数组是否已设置,而不是它的一个值
foreach ($your_array as $key => $value) {
    if ($value != 'null') {
        $data = json_decode($value);
        echo $data->article;
    }
}