$size_of_groups = "4";
// for the purpose of the question, assume $seeded_teams size is currently 32, it's array that returns data from a function i have created,
//however the size can change
// depending on user input
// creates dynamically named arrays (i realize this is a poor way of doing
//things, but, for my purposes it is fine
$ft = "true";
for ($i = 1; $i < sizeof($seeded_teams) / $size_of_groups + 1; $i++) {
if ($ft == "true") {
${"group{$i}"} = array($seeded_teams[0], $seeded_teams[sizeof($seeded_teams) / 2 - 1],
$seeded_teams[sizeof($seeded_teams) / 2], $seeded_teams[sizeof($seeded_teams) - 1]);
$ft = "false";
} else {
${"group{$i}"} = array($seeded_teams[-1 + $i], $seeded_teams[sizeof($seeded_teams) / 2 - $i],
$seeded_teams[sizeof($seeded_teams) / 2 - 1 + $i], $seeded_teams[sizeof($seeded_teams) - $i]);
}
}
我正在脚本中创建具有动态名称的数组。以这种方式创建的所有数组都附加了一个数字。
例如:$group 1、$group 2、$group 3、$group 4、$group 5、$group 6、$group 7、$group 8
如果我确切地知道(并且我的脚本理解)有多少个数组(因此,将知道所有的暂停),我想知道是否有任何执行一个语句来理解遍历所有 8 个数组而不必调用 8 个单独的循环。
我想重写这部分代码以使用多维数组可能会好得多,但是很久以前我使用这些信息编写了一些其他函数,当时我的经验要少得多,并且没有意识到项目的范围。请注意,此项目仅用于个人目的。
举一个更好的例子,有没有可能做这样的事情?
for($i=0;$i < $number_of_groups + 1; i++) {
foreach ($"{group{$i}"} as $value) {
echo $value."<br>";
}
}
您可以使用
variable variables
来实现此操作:
for($i = 0; $i < $number_of_groups + 1; i++) {
$var = 'group' . $i;
foreach ($$var as $value) {
// ...
}
}