我遇到一个问题,尝试将ID
保存为数组索引,但是当我将数组转换为json时,ID
出现为对象而不是数组元素。
这是一个简短的示例:
$ID = 1001 ;
$item = [] ;
$item["regional"] = [] ;
$item["regional"][$ID] = $someInfo ; //object
json_encode($item) ;
我将json返回我的应用程序,当我查看json格式时,上述列表1001
作为对象:
[0:
{ regional:
{ 1001 :
someInfoA : valueA
someInfoB : valueB
}
}
]
如果我更改$ID = 0
的值,则它将ID
存储为适当的数组索引-这是我需要的:
$ID = 0 ;
$item = [] ;
$item["regional"] = [] ;
$item["regional"][$ID] = $someInfo ; //object
json_encode($item) ;
以上显示ID = 0
作为数组索引[0]:
[0:
{ regional:
[ 0 :
{
someInfoA : valueA
someInfoB : valueB
}
]
}
]
如何获得第一个示例,将数组索引设置为1001
并被视为数组元素而不是对象。我需要执行此操作,以便可以快速查看是否存在要添加到该数组索引元素/ ID或创建该数组索引元素/ ID,然后添加到该数组索引元素/ ID。
如果无法完成此操作,那么如何搜索多维数组/对象以返回包含对象值1001
的数组索引?
[0:
{ regional:
[ 0 :
{
ID: 1000
someInfoA : valueA
someInfoB : valueB
}
]
[ 1 :
{
ID: 1001
someInfoA : valueA
someInfoB : valueB
}
]
}
]
$index = array_key_exists($item["regional"],1001) ; // or something like this
var_dump($index) ; // index = 1 ;