我有一个像这样的数组:
array( array(), array(), array(), array() );
Run Code Online (Sandbox Code Playgroud)
主数组中的数组包含4个键及其值.所有数组中的键都是相同的,如下所示:
array( 'id' => 'post_1',
'desc' => 'Description 1',
'type' => 'type1',
'title' => 'Title'
);
array( 'id' => 'post_2',
'desc' => 'Description 2',
'type' => 'type2',
'title' => 'Title'
);
Run Code Online (Sandbox Code Playgroud)
所以我想创建另一个数组并提取id和type值并将它们放在一个新数组中,如下所示:
array( 'post_1' => 'type1', 'post_2' => 'type2'); // and so on
Run Code Online (Sandbox Code Playgroud)
此数组中的键将是id键旧数组的值,它们的值将是type键的值.
那么有可能实现这一目标吗?我试过搜索php.net数组函数,但我不知道使用哪个函数?
eno*_*yhs 91
PHP最近为其数组函数添加了新函数,它完全符合您的要求.我正在回答这个问题,希望将来可以帮助这个问题.
执行此操作的功能是array_column.为了得到你想要的东西你会写:
array_column($oldArray, 'type', 'id');
Run Code Online (Sandbox Code Playgroud)
请注意,它仅在PHP 5.5.0版本中引入,因此要在较低版本的PHP上使用它,要么使用已接受的答案,要么查看如何在PHP中实现此函数并使用此库:https:// github. COM /拉姆西/ array_column
dec*_*eze 32
只需使用一个好的循环:
$newArray = array();
foreach ($oldArray as $entry) {
$newArray[$entry['id']] = $entry['type'];
}
Run Code Online (Sandbox Code Playgroud)