【发布时间】:2021-12-06 21:13:00
【问题描述】:
我有以下格式的回复。我正在使用laravel。
尽管有index,但我想检查是否存在street_number,如果是,只需打印long_name
类似我想检查这个数组的types 中是否有route。如果是,则打印路线long_name 等等。
dd($dataArray); 给出此响应
array:3 [
"html_attributions" => []
"result" => array:15 [
"address_components" => array:7 [
0 => array:3 [
"long_name" => "19"
"short_name" => "19"
"types" => array:1 [
0 => "street_number"
]
]
1 => array:3 [
"long_name" => "Becket Street South"
"short_name" => "Becket St S"
"types" => array:1 [
0 => "route"
]
]
2 => array:3 [
"long_name" => "senroy"
"short_name" => "Slenroy"
"types" => array:2 [
0 => "locality"
1 => "political"
]
]
]
我是这样循环的
$newArray=[];
foreach($dataArray['result'] as $data){
// check if street_number in array or not if yes push it value to new array
//same for other types as well
}
【问题讨论】:
-
只需通过
in_array检查types内部,这样您就不需要使用硬编码索引,它只会检查street_address是否存在 -
i did this if (in_array('street_number', $data[$key]['types'])){ // 它给出了错误“未定义的索引:类型” }
-
但是如果 (in_array('street_number', $data[0]['types'])) 这很好。但我不想硬编码