我有这个JSON字符串:
"Filters": [
{"IsActive" : "1"},
{"Gender" : "M"}
]
我正在转换为数组$filters
。当我得到var_dump
时:
array(2) {
[0]=>
array(1) {
["IsActive"]=>
string(1) "1"
}
[1]=>
array(1) {
["Gender"]=>
string(1) "M"
}
}
我正在尝试访问键/值对。密钥并不总是Gender
或IsActive
。它们可以是任何有价值的东西。
foreach ($filters as $key => $value) {
echo "\nFilter: " . $key . " => " . $value;
}
但它输出:
过滤器:Array =>数组
注意:数组到字符串 转换
为什么我无法访问k / v对?
答案 0 :(得分:2)
你对阵列的看法不够深入。它实际上是一个数组数组,因此处理它的一种方法是使用另一个这样的foreach
foreach ($filters as $arr) {
foreach ($arr as $key => $value) {
echo "\nFilter: " . $key . " => " . $value;
}
}
答案 1 :(得分:1)
由于这是一个数组数组,您应该遍历每个数组
foreach($filters as $index=>$filter) {
foreach($filter as $key=>$value){
//...
}
}