我使用json_decode
来解析JSON文件。在for循环中,我试图捕获存在一个或另一个元素的JSON中的特定情况。我已经实现了一个似乎符合我需求的函数,但是我发现我需要使用两个for循环来获取它以捕获我的两个案例。确保订单循环涉及json_decode()
我宁愿使用一个循环,如果可能的话,但我坚持如何在一次传递中捕获这两种情况。下面是我想结果看起来像什么样机:
<?php
function extract($thisfile){
$test = implode("", file($thisfile));
$obj = json_decode($test, true);
for ($i = 0; $i <= sizeof($obj['patcher']['boxes']); $i ++) {
//this is sometimes found 2nd
if ($obj['patcher']['boxes'][$i]['box']['name'] == "mystring1") {
}
//this is sometimes found 1st
if ($obj['patcher']['boxes'][$i]['box']['name'] == "mystring2") {
}
}
}
?>
谁能告诉我,我怎么能抓到一个迭代中上述两种情况? 我显然不能这样做
if ($obj['patcher']['boxes'][$i]['box']['name'] == "string1" && $obj['patcher']['boxes'][$i]['box']['name'] == "string2") {}
...因为这条件永远不会得到满足。
但你*使用*仅单回路/传...另外,'file' /'implode'是不必要的:只需使用'file_get_contents'。 – Jon 2014-11-14 23:18:23
我只在示例中使用了单个传递来说明我希望结果如何。 – jml 2014-11-14 23:18:51
你写的是什么,不行? – Aesphere 2014-11-14 23:27:04