php - 搜索多维数组并从结果中创建一个新数组
问题描述
我想在多维数组中搜索特定值并使用结果数据创建一个新数组。
原始数组是:
Array (
[0] => Array (
[make] => honda
[type] => motorcycle
)
[1] => Array (
[make] => toyota
[type] => truck
)
[2] => Array (
[make] => acura
[type] => car
)
[3] => Array (
[make] => subaru
[type] => car
)
)
我想要的结果数组:
Array (
[0] => Array (
[make] => acura
[type] => car
)
[1] => Array (
[make] => subaru
[type] => car
)
)
我预计使用array_search('car', array_column($arr, 'type'));
来获取与找到的值关联的键,但我不确定如何利用找到的键来获取新数组?
解决方案
只是为了好玩,如果所有make
值对于 都是唯一的car
,并且您只想要make
,那么您可以对其进行索引并array_keys
与 search 参数一起使用:
$cars = array_keys(array_column($arr, 'type', 'make'), 'car');
回报:
Array (
[0] => acura
[1] => subaru
)
推荐阅读
- c++ - 如何使用新运算符 C++ 为 void 指针分配内存?
- django - Encrypt Django Source Code 信息还没有吗?
- reactjs - 为什么我在 React 中的状态在一个函数中定义但在另一个函数中未定义?
- string - lua字符串与变量字符串和变量模式匹配
- android - Android 发布签名的 APK:从输出 logcat 中删除 Firebase Analytics 日志
- javascript - 使用 JavaScript 批准 HTML POST 表单中的密码长度
- laravel - Laravel Mix & Vue:如何获得多个 CSS 输出?
- python - 如何只在一列上对其他列进行总结,而对熊猫的其余部分不做任何事情?
- java - java中电影名称的字符串过滤
- amazon-web-services - 将数据从 HDFS 复制到 S3 时,“使用 AWS KMS 托管密钥指定服务器端加密的请求需要 AWS 签名版本 4”