【发布时间】:2013-07-16 13:30:40
【问题描述】:
如何在 PHP 中进行蛇形循环或每次循环后如何反转 PHP 数组 我不确定这种方法或技术叫什么,所以我只是将其称为蛇循环。
基本上我要做的是遍历一个数组,然后在下次循环时反转该数组的顺序。
我想出了一个似乎有点简单的方法,但我只是不确定这是否是正确的技术,或者是否有更好的方法。
<?php
$rounds = 4;
$teams = array('Team 1', 'Team 2', 'Team 3', 'Team 4') ;
for($round = 1; $round <= $rounds; $round++){
echo "<h1>Round $round</h1>";
if ($round % 2 == 0) {
krsort($teams);
}else{
asort($teams);
}
foreach($teams as $team){
echo "$team<br />";
}
}
?>
输出:
Round 1
Team 1
Team 2
Team 3
Team 4
Round 2
Team 4
Team 3
Team 2
Team 1
Round 3
Team 1
Team 2
Team 3
Team 4
Round 4
Team 4
Team 3
Team 2
Team 1
基本上,如果$round 是奇数,您可以看到数组对ascending 进行排序,如果是偶数,则对descending 进行排序。
【问题讨论】:
-
$teams = array_reverse($teams); -
是的,我之前尝试过,但似乎没有用。我想我把它放在循环的错误端口中,因为这似乎现在可以工作了。
标签: php arrays sorting loops for-loop