我目前正在编写一些代码来将关联数组的值在PHP 7.0中向右移动,并使用了一个没有指令的for循环:
$array = array("one" => 1, "two" => 2, "three" => 3, "four" => 4);
$first = reset($array);
$last = end($array);
for (end($array); current($array) !== $first && key($array) !== null; $array[key($array)] = prev($array)){
continue;
}
$array[key($array)] = $last;
Run Code Online (Sandbox Code Playgroud)
代码工作并输出我需要的东西,但我不禁觉得这样的结构有问题.也许有更明确的方法吗?(我问自己这主要是因为我的代码将来不会被我维护,我希望它尽可能干净)
我在手册页或博客上找不到关于这个主题的任何内容.它通常不赞成或更多地取决于自己的观点吗?
我会说它的不良做法,因为即使它是有效的,我从经验中发现,将它重构为while循环几乎总是使它更具可读性.
$array = array("one" => 1, "two" => 2, "three" => 3, "four" => 4);
$first = reset($array);
$last = end($array);
while (current($array) !== $first && key($array) !== null) {
$array[key($array)] = prev($array);
}
$array[key($array)] = $last;
Run Code Online (Sandbox Code Playgroud)