php基于数组中的键获取值
我正在尝试获取一个新数组,其中包含从名为$houses的数组中获取的所有代码。我把它绕了一圈。为了获取代码,我尝试了php基于数组中的键获取值,php,arrays,laravel,Php,Arrays,Laravel,我正在尝试获取一个新数组,其中包含从名为$houses的数组中获取的所有代码。我把它绕了一圈。为了获取代码,我尝试了$house['code']这在dd中有效,但在$code=$house['code']中无效 我想知道为什么,解决办法是什么 $houses = $project['data']['houses']; $codes = []; foreach($houses as $house) { $code = array_column($house, 'code'); /
$house['code']
这在dd中有效,但在$code=$house['code']
中无效
我想知道为什么,解决办法是什么
$houses = $project['data']['houses'];
$codes = [];
foreach($houses as $house) {
$code = array_column($house, 'code');
//dd($house['code']); //Returns the code "AB12-CD34-EF56-GH78"
if(!$code) {
continue;
} else {
array_push($codes, $code);
}
}
dd($codes); //Returns []
编辑:
var_dump$房屋:
array:60 [
0 => array:30 [
"id" =>
"city" => ""
"code" => "AB12-CD34-EF56-GH78"
"streetName" => ""
"houseNumber" => ""
//And some other stuff that is not relevant to the question
]
]
array\u column
用于从数组中的数组恢复列$house
是一个简单的数组,其中不包含数组。只需使用$house['code']
$houses=$project['data']['houses'];
$codes=[];
foreach($house作为$house){
如果(isset($house['code'])和&$house['code']){
$code[]=$house['code'];
}
}
dd(代码)//返回[“AB12-CD34-EF56-GH78”、“AB12-CD34-EF56-GH79”、…]
代替此循环,您只需使用以下命令从子阵列中提取所有code
s即可:
$houses = $project['data']['houses'];
$codes = array_column($houses, 'code');
dd($codes);
使用
array\u column
有什么意义?可能只是$codes=array_column($houses,'code')代码>就足够了?dd()函数做什么?向我们展示$houses
的变量转储,如果你向我们展示$project['data']['houses']
的内容,我们可以更好地帮你展示$project['data']['houses']
@他还说/dd($house['code'])//返回代码“AB12-CD34-EF56-GH78”
这对我有效。非常感谢。将在一分钟内接受。如果我有例如200所房子,它仍然有效吗?考虑到你有足够的内存,它将适用于任何大小的房子。