通过索引对PHP多级数组进行索引

通过索引对PHP多级数组进行索引,php,arrays,Php,Arrays,我有一个多维数组(数据库中的一组行),我想创建一个完全相同的数组,除了键是数组中的一个项 例如,如果我有: array( [1] => array("x" => "aa", "y" => 12, "z" => "more data...", ...), [2] => array("x" => "bb", "y" => 13, "z" => "more data...", ...), [3] => array("x" => "cc", "

我有一个多维数组(数据库中的一组行),我想创建一个完全相同的数组,除了键是数组中的一个项

例如,如果我有:

array(
[1] => array("x" => "aa", "y" => 12, "z" => "more data...", ...),
[2] => array("x" => "bb", "y" => 13, "z" => "more data...", ...),
[3] => array("x" => "cc", "y" => 14, "z" => "more data...", ...),
[4] => array("x" => "dd", "y" => 15, "z" => "more data...", ...),
[5] => array("x" => "ee", "y" => 16, "z" => "more data...", ...).
...
)
我称之为reindex(myarray,x),它的形式是:

array(
["aa"] => array("x" => "aa", "y" => 12, "z" => "more data...", ...),
["bb"] => array("x" => "bb", "y" => 13, "z" => "more data...", ...),
["cc"] => array("x" => "cc", "y" => 14, "z" => "more data...", ...),
["dd"] => array("x" => "dd", "y" => 15, "z" => "more data...", ...),
["ee"] => array("x" => "ee", "y" => 16, "z" => "more data...", ...).
...
)
我原以为PHP提供了类似的东西,但我只找到了array_column,它只返回列的值

有什么想法吗?还是我只需要编写自己的函数


谢谢。

没有现有的函数,因为用可用的函数原语实现这个特定的功能很简单。它不够复杂或普通,无法保证其在核心中的特殊功能

array_combine(array_map(function (array $i) { return $i['x']; }, $array), $array)

对于循环,这是一个相对简单的
函数reindex($arr,$idx){$arr2=array();foreach($arr as$key=>$value){$arr2[{$arr[{$idx}]}]=$value}返回$arr2;}
?@RiverC-1。这不是一个评论,这是一个答案:POh,但这不是一个答案,他没有要求实现,但如果有一个现有的,或者他必须自己编写;)我知道我可以很容易地编写for/each循环,但我希望一些原语可以完成繁重的工作。如果您正在计算新密钥,这将非常有效。在我的版本中,我简化了它,我只想获取一个索引值;