php - 如何将特定的数组键和值提取到另一个数组?

标签 php arrays

我有一个这样的数组:

array( array(), array(), array(), array() );

主数组中的数组包含 4 个键和它们的值。所有数组中的键都是相同的,如下所示:

array( 'id' => 'post_1',
       'desc' => 'Description 1',
       'type' => 'type1',
       'title' => 'Title'
     );

array( 'id' => 'post_2',
       'desc' => 'Description 2',
       'type' => 'type2',
       'title' => 'Title'
     );

所以我想创建另一个数组并提取 idtype 值并将它们放入一个新数组中,如下所示:

array( 'post_1' => 'type1', 'post_2' => 'type2'); // and so on

此数组中的键将是 id 键旧数组的值,它们的值将是 type 键的值。

那么有可能做到这一点吗?我试着搜索 php.net Array Functions但是不知道用哪个函数?

最佳答案

PHP 5.5 引入了一个数组函数,它可以完全满足您的需求。 我正在回答这个问题,希望它可以帮助将来解决这个问题的人。

执行此操作的函数是 array_column . 为了得到你想要的,你会写:

array_column($oldArray, 'type', 'id');

要在较低版本的 PHP 上使用它,请使用已接受的答案或查看此函数在 PHP 中的实现方式并使用此库:https://github.com/ramsey/array_column

关于php - 如何将特定的数组键和值提取到另一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10328780/

相关文章:

python - 一次获取 NumPy 数组中多个元素的索引

php - Symfony - 如何为 symfony 服务选择正确的接口(interface)(类型提示)?

php - 上传图像(数据为:image/png:base64) to webserver

php - 为什么我不应该在 PHP 中使用 mysql_* 函数?

android - 尝试将 mutableListOf<String> 存储到 SharedPreferences 但无法设置默认值

Javascript 数组实例化

javascript - 自动绑定(bind)JS类方法有什么好方法?

php - 表不在同一个顺序 mySQL

javascript - 按下特定列表的按钮后使用ajax更新特定列表<li>

javascript - 使用reduce javascript将字符串转换为对象