我有一个json值,如下所示:
{
"A":{"id":"1","checked":false},
"B":{"id":"2","checked":true},
"C":{"id":"3","checked":true}
}
我只需要id
和checked
的值。我不知道A
、B
、C
中放了什么值。
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($chboxs, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
// echo "$key:'n";
} else {
//echo "$key => $val'n";
if($val == true){
$val = 1 ;
}else{
$val = 0 ;
}
$ch = array();
$ch['isvisible'] = $val;
$this->m_general->edit('coupon_properties' , $ch , array('id'=>$key));
}
}
它不太好用。
只需使用json_decode
:
$arr = json_decode('{
"A":{"id":"1","checked":false},
"B":{"id":"2","checked":true},
"C":{"id":"3","checked":true}
}');
因此,这将给你作为:
Array (
A => Array (
id => 1,
checked => false
)
B => ...
)
你可以得到它像:
$arr["A"]["id"]; // 1
$arr["B"]["checked"]; // true
因此,要进行迭代,可以使用:
foreach ($arr as $ar) {
echo $ar["id"], $ar["checked"];
}