Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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,我有一个JSON字符串: "Filters": [ {"IsActive" : "1"}, {"Gender" : "M"} ] 我正在转换为数组$filters。当我var\u dump时,我得到: array(2) { [0]=> array(1) { ["IsActive"]=> string(1) "1" } [1]=> array(1) { ["Gender"]=> string(1) "M"

我有一个JSON字符串:

"Filters": [
   {"IsActive" : "1"},
   {"Gender" : "M"}
]
我正在转换为数组
$filters
。当我
var\u dump
时,我得到:

array(2) {
  [0]=>
  array(1) {
    ["IsActive"]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    ["Gender"]=>
    string(1) "M"
  }
}
我正在尝试访问键/值对。键不总是
性别
,或
是活动的
。它们可以是任何东西,具有任何价值

 foreach ($filters as $key => $value) {
   echo "\nFilter: " . $key . " => " . $value;
 }
但它输出:

Filter:Array=>Array
注意:数组到字符串 转化为


为什么我无法访问k/v对?

您没有深入查看阵列。它实际上是一个数组数组,所以处理它的一种方法是使用另一个类似这样的foreach

foreach ($filters as $arr) {
    foreach ($arr as $key => $value) {
        echo "\nFilter: " . $key . " => " . $value;
    }
}

您对阵列的观察不够深入。它实际上是一个数组数组,所以处理它的一种方法是使用另一个类似这样的foreach

foreach ($filters as $arr) {
    foreach ($arr as $key => $value) {
        echo "\nFilter: " . $key . " => " . $value;
    }
}

因为这是一个数组数组,所以应该迭代每个数组

foreach($filters as $index=>$filter) {
     foreach($filter as $key=>$value){
     //...
     }
}

因为这是一个数组数组,所以应该迭代每个数组

foreach($filters as $index=>$filter) {
     foreach($filter as $key=>$value){
     //...
     }
}

为什么要把它转换成数组呢?在JSONI中,它是一个非常可爱的对象。我必须把它转换成数组。我得到了编码十字眼为什么要把它转换成一个数组,这是JSONI中一个非常可爱的对象,我必须把它转换成数组。我的眼睛交叉了。答案一直就在我面前!谢谢啊。答案一直就在我面前!谢谢