首页 > 解决方案 > 将每个值的位置移动到关联数组中的下一个索引

问题描述

我在 PHP 中有一个数组。例如 :

Array
(
    [3] => 6
    [2] => 4
    [1] => 2
    [4] => 8
    [6] => 12
)

我需要将每个值的位置移动到下一个索引。即,所需的输出是

Array
(
    [3] => 12
    [2] => 6
    [1] => 4
    [4] => 2
    [6] => 8
)

我需要保持键不变并对值进行四舍五入。

实现它的最简单方法是什么?

我已经尝试过的是

$lastValue = $array[array_keys($array)[4]];
$firstKey  = array_keys($array)[0];

for ($i=4; $i>0; $i--) {
$array[array_keys($array)[$i]] = $array[array_keys($array)[$i-1]];
   }

$array[$firstKey] = $lastValue;
print_r($array);

标签: phparrays

解决方案


php 太酷了 ^_^ 部分想法〜被盗〜取自@Peters 解决方案,对不起,伙计:)

<?php

$array = 
[
    3 => 6,
    2 => 4,
    1 => 2,
    4 => 8,
    6 => 12,
];

$newArray = array_combine(array_keys($array), array_merge([array_pop($array)], $array));
var_dump($newArray);

演示


推荐阅读