php - 将每个值的位置移动到关联数组中的下一个索引
问题描述
我在 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);
解决方案
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);
推荐阅读
- python - Django Admin 将新模型上传到当前
- regex - 是否可以编写一个使用分组但不进行回溯的正则表达式引擎?
- python - tensorflow-Keras LSTM VAE - 无法在 RHEL7 上转换符号张量错误 - Airflow
- java - 在eclipse中从java项目创建可执行文件
- mysql - RMariaDB 似乎不允许我连接到 MySQL 服务器
- ios - 适用于 VPN 的 iOS Mobileconfig - 此配置文件只能安装在受监督的设备上
- html - Highchart:如何在 JSON 响应下方绘制带有线条的堆积条形图
- java - 在 cmd 中运行 jar 时,线程“main”java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 中的异常
- python - 有效地循环遍历一对列表来比较元素
- swift - 如何从 Discord 获取消息/反应日志作为 swift 程序的触发器?