群里有人提出一个问题 如何互换一个数组的首尾元素 中间不变 首尾互换
代码如下:
<?
php
$array=
array(1,2,3,4,5,6,7,8,9,10
);
$first=
array_shift(
$array);
$last=
array_pop(
$array);
$array=
array_merge(
array(
$last),
$array,
array(
$first));
?>
这种实现方案是弹出第一个和最后一个 然后组合为数组。
我又想了另外一个方法
<?
php
$array=
array(1,2,3,4,5,6,7,8,9,10
);
$tmp=
current(
$array);
$array[0]=
end(
$array);
$array[
count(
$array)-1]=
$tmp;
?>
该方法采用中间变量互换首尾值 ,步骤为 获取第一个 和最后一个 采用中间变量进行互换
郭大师提出了他自己的写法
<?
php
$array=
array(1,2,3,4,5,6,7,8,9,10
);
$copy =
$array;
$copy[0] =
$copy[
count(
$array)-1
];
$copy[
count(
$array)-1] =
$array[0
];
?>
这个方法比较特别,采用数组复制,然后交叉首尾进行赋值,思路奇特,不过有点问题是 如果处理大数组这样可能会比较耗内存。
转载于:https://www.cnblogs.com/lizhaoyao/p/6769861.html
相关资源:数据结构—成绩单生成器