是否可以使用较少的代码从值列中为 PHP 中的数组元素分配键?

Iva*_* T. 4 php arrays multidimensional-array

假设我有一个元素数组,它们本身就是数组,如下所示:

$array = [
    ['foo' => 'ABC', 'bar' => 'DEF'],
    ['foo' => 'ABB', 'bar' => 'DDD'],
    ['foo' => 'BAC', 'bar' => 'EFF'],
];
Run Code Online (Sandbox Code Playgroud)

要将foo字段的值设置为数组的键,我可以这样做:

foreach ($array as $element) {
    $new_array[$element['foo']] = $element;
}
$array = $new_array;
Run Code Online (Sandbox Code Playgroud)

代码自然是微不足道的,但我一直想知道是否有内置的可以为我做同样的事情。

dWi*_*der 8

通知array_column也可以获取索引(第三个参数):

混合 $index_key = NULL

所以只需用作:

array_column($array, null, 'foo');
Run Code Online (Sandbox Code Playgroud)