PHP中的循环是空的被认为是不好的做法吗?

1 php arrays loops for-loop

我目前正在编写一些代码来将关联数组的值在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)

代码工作并输出我需要的东西,但我不禁觉得这样的结构有问题.也许有更明确的方法吗?(我问自己这主要是因为我的代码将来不会被我维护,我希望它尽可能干净)

我在手册页或博客上找不到关于这个主题的任何内容.它通常不赞成或更多地取决于自己的观点吗?

Leo*_*Aso 7

我会说它的不良做法,因为即使它是有效的,我从经验中发现,将它重构为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)