将数组的最后一个值旋转为第一个元素,而不旋转键

问题描述 投票:0回答:3

如何在 php 中旋转数组的值? 例如:

array ('bill'=>'bob','marley'=>'mary','jake'=>'jack');

这样它会旋转值并保留密钥,这样它就会变成,

array ('bill'=>'jack','marley'=>'bob','jake'=>'mary');
php arrays rotation
3个回答
1
投票

阅读每一行的注释以了解详细信息

$a = array ('bill'=>'bob','marley'=>'mary','jake'=>'jack');
$key = array_keys($a);// get all the keys of array
$value = array_values($a);// get all the value of array
$rev = array_reverse($value);// reverse your value
$new_array = array_combine($key, $rev);// combine array wirh key and reverse value
 print_r($new_array);

输出

数组([比尔] => 杰克 [马利] => 玛丽 [杰克] => 鲍勃)


0
投票

您还可以使用 PHP 数组 Shuffle 和循环:

$array = array ('bill'=>'bob','marley'=>'mary','jake'=>'jack');
$keys =array_keys($array);
shuffle($array);
$newArray =  array();
foreach ($keys as $key => $value)
{
   $newArray[$value] = $array[$key];
}
print_r($newArray);

这是一个工作的DEMO


0
投票

一定有一个简单的方法,但这就是我想出的:

 <?php $arr = array ('bill'=>'bob','marley'=>'mary','jake'=>'jack');
       $reversed = array();
           $i = 4;
        foreach($arr as $key => $val){
            $reversed[$key] = $arr[$i];
            $i--;
        }
     print_r($reversed);
  ?>
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.