php基于数组中的键获取值

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'); /

我正在尝试获取一个新数组,其中包含从名为$houses的数组中获取的所有代码。我把它绕了一圈。为了获取代码,我尝试了
$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所房子,它仍然有效吗?考虑到你有足够的内存,它将适用于任何大小的房子。