示例:
[1,2,3,4,5]
右移2位
[3,4,5,1,2]
左移3位
[4,5,1,2,3]
使用场景示例:
阴盘奇门中,有如下天门地户
在实际排盘中,就是平移上面的两个数组,$sjlist,$tslist.
代码如下
public static function moveArray($array, $offset)
{
global $empire, $dbtbpre, $class_r, $public_r, $post, $addon_name, $addon_set, $xppset, $ga;
// 如果$offset是负数,表示向前移动,否则向后移动
// $offset=-2;
$len = count($array);
$shiftedArray = ($offset > 0) ? array_slice($array, $len - $offset) : array_slice($array, abs($offset));
// print_r($shiftedArray);
// 获取不需要移动的数组部分
$remainingArray = ($offset > 0) ? array_slice($array, 0,$len-$offset) : array_slice($array, 0,abs($offset));
// print_r($remainingArray);
// 将两部分合并
return array_merge($shiftedArray, $remainingArray);
}