首页 > PHP数组添加新的元素且把他放在整个数组第一位

PHP数组添加新的元素且把他放在整个数组第一位

加入我有这么一个数组
$arr=array(2) {
[a] => array(2) {

["1"] => string(4) "test"
["2"] => string(4) "test"

}
[b] => array(2) {

["1"] => string(4) "test"
["2"] => string(4) "test"

}
}

现在我要添加一个新的元素
$c=array() {

["1"] => string(4) "test"
["2"] => string(4) "test"

}

那么我添加进去$arr就会有三个元素,分别是 a b c
但是我想把c变成第一个元素变成 c b a

请问各位大神如何实现?


http://php.net/manual/zh/function.array-unshift.php


array_unshift() 函数在数组开头插入一个或多个元素。

例子 1

<?php
$a=array("a"=>"Cat","b"=>"Dog");
array_unshift($a,"Horse");
print_r($a);
?>

输出:

Array ( [0] => Horse [a] => Cat [b] => Dog )

<?php
$arr = array(
    'a' => array('1'=>'testa1', '2'=>'testa2'),
    'b' => array('1'=>'testb1', '2'=>'testb2')
);
$c = array(
    '1'=>'testc1',
    '2'=>'testc2'
);

function get_variable_name(&$var, $scope = NULL)
{
    if (NULL == $scope)
    {   
      $scope = $GLOBALS;
    }   

    $tmp  = $var;

    $var   = "tmp_exists_" . mt_rand();

    $name = array_search($var, $scope, TRUE);

    $var   = $tmp;

    return $name;
}


$arr += array(get_variable_name($c)=>$c);                                                                                                                                                    
var_dump($arr);

已修改


array_unshift
多看看文档


把第三个元素创建成一个数组赋值给$arr2 ,array_merge($arr2,$arr);
就可以了

【热门文章】
【热门文章】