我正在尝试将多维对象转换为数组,以传递给需要数组的API调用。问题是,即使在使用惰性方法将对象转换为数组之后:
$data = json_decode(json_encode($object),true)
返回的值很有趣。我得到空数组值,其中值应为none,所以我尝试通过foreach循环运行它:
foreach ( $data as $key => $data_each ) {
if ( is_array($data_each[$key]) ) { $data[$key] = NULL; }
}
但它没有捕获foreach循环中的数组值。在运行foreach之后,我检查我碰巧知道的值是作为一个空数组返回的,只要我在foreach循环之外使用in_array进行检查就是将它作为一个数组捕获。但由于某种原因不在循环内。
我错过了什么?
答案 0 :(得分:0)
你有这个:
foreach ( $data as $key => $data_each ) {
if ( is_array($data_each[$key]) ) { $data[$key] = NULL; }
}
此处,$data_each
的值为$data[$key]
。如果要检查值是否为is_array($data_each)
,请尝试array
。循环中$data_each
与$data[$key]
相同。