加入我有这么一个数组
$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);
就可以了