0

是否有一个 PHP 函数来移动数组键/值对并使其成为数组中的第一个元素。

基本上,我想转换

Array
(
    [a] => rose
    [b] => tulip
    [c] => dahlia
    [d] => peony
    [e] => magnolia
)

Array
(
    [c] => dahlia
    [a] => rose
    [b] => tulip
    [d] => peony
    [e] => magnolia
)

澄清一下,目的是选择一个特定的键/值对并将其移动为第一个索引,同时保持订单的其余部分不变。

所以在这种情况下,我正在寻找类似的东西

$old_array = Array
    (
        [a] => rose
        [b] => tulip
        [c] => dahlia
        [d] => peony
        [e] => magnolia
    );
$new_array = some_func($old_array, 'c');

在 $new_array 中,'c' 应该是列表中的第一个。

关于“some_func()”的代码有什么想法吗?

4

3 回答 3

2

如果您只想将一个元素放在第一位,那么您可以这样做:

function some_func($array, $key) {
   $tmp = array($key => $array[$key]);
   unset($array[$key]);
   return $tmp + $array;
}
于 2012-07-07T15:26:49.550 回答
1

这可能对您有帮助:

function myfun($ar,$key){
    if (array_key_exists($key,$ar)) {
        $arr_tmp = array($key => $ar[$key]);
        unset($ar[$key]);
        return $arr_tmp + $ar;        
    }
}
于 2012-07-07T15:39:36.683 回答
1
function some_func($arr, $key) {
    $val = $arr[$key];
    unset($arr[$key]);
    return array_merge(array($key => $val), $arr);
}

在键盘上查看

于 2012-07-07T15:55:38.913 回答