我有一个数组
array(
'key1'=>'value1',
'key2'=>'value2',
'key3'=>'value3'
)
我想像这样创建它
array(
'key3'=>'value3',
'key1'=>'value1',
'key2'=>'value2'
)
我只想将最后一个元素移动到第一个元素,键值对保持所有其他细节不变。
我有一个数组
array(
'key1'=>'value1',
'key2'=>'value2',
'key3'=>'value3'
)
我想像这样创建它
array(
'key3'=>'value3',
'key1'=>'value1',
'key2'=>'value2'
)
我只想将最后一个元素移动到第一个元素,键值对保持所有其他细节不变。
使用以下代码的最简单方法
$arr = array(
'key1'=>'value1',
'key2'=>'value2',
'key3'=>'value3'
);
$lastvalue = end($arr);
$lastkey = key($arr);
$arr1 = array($lastkey=>$lastvalue);
array_pop($arr);
$arr1 = array_merge($arr1,$arr);
输出
Array
(
[key3] => value3
[key1] => value1
[key2] => value2
)
只需将其拼接并合并到开头即可
$array = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$newArray = array_merge(array_splice($array, -1), $array);
var_dump($newArray);
输出:
array(3) {
["key3"]=>
string(6) "value3"
["key1"]=>
string(6) "value1"
["key2"]=>
string(6) "value2"
}
使用该函数array_reverse()
来反转数组,例如:
<?php
$arr=array(
'key1'=>'value1',
'key2'=>'value2',
'key3'=>'value3'
);
$reversed = array_reverse($arr);
echo "<pre>";
print_r($reversed);
?>
$array = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$count = 1;
foreach ($array as $k => $v) {
if ($count == 1)
$first[$k] = $v;
if ($count == count($array))
$last[$k] = $v;
$count++;
}
array_shift($array);
array_pop($array);
$final = array_merge($last, $array, $first);
print_r($final);
首先转到最后一个项目或数组,为此目的使用 end(最快的一个)。现在获取键,值然后将其删除并添加到顶部。
$last_val = end($original_array);
$last_key = key($original_array);
unset($original_array[$key]);
$new_array = array($last_key => $last_val) + $original_array;