php - php根据数组中的键获取值
问题描述
我正在尝试使用从名为 $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 $houses:
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_column
用于从数组数组中的数组中恢复列。$house
是一个简单的数组,其中不包含数组。只需使用$house['code']
$houses = $project['data']['houses'];
$codes = [];
foreach($houses as $house) {
if(isset($house['code']) && $house['code']) {
$codes[] = $house['code'];
}
}
dd($codes); //Returns ["AB12-CD34-EF56-GH78","AB12-CD34-EF56-GH79", ....]
推荐阅读
- reactjs - 尝试使用 expo 相机但检测不起作用
- ios - 视图控制器如何与 App Delegate 连接
- typescript - TypeScript中的`extends A`和`extends typeof A`有什么区别?
- android - 在 Play 控制台上获取 android.app.RemoteServiceException 而没有任何消息
- hive - 无法从配置单元中的外部表加载带有 maptype 列(复杂数据类型)的托管表
- python - 如何在绘图上显示 kmeans 的聚类中心?
- java - 如何在 MyBatis 中泛化相似的映射器命名空间?
- javascript - 如何使用 axios 从 laravel 下载导出的 excel?
- ansible - Ansible 无法通过 ssh 连接到主机
- javascript - 创建外滚动粘性表头