如果一个索引是最后一个倒带数组,则PHP循环两个数组

标签 php arrays foreach

<分区>

我有两个数组。第一个数组是名称,它有 5 个名称。第二个数组是组,它有 3 个组。我想遍历这两个数组并将每个索引名称设置为索引组。如果组索引完成,我想重新启动第二个数组。

如果它到达最后一项,我尝试将组索引重置为 0,但它不起作用。

$names = [
  'John',
  'Jane',
  'George',
  'Jim',
  'Jack'
];

$groups = [
  '1',
  '2',
  '3'
];

foreach ($names as $index => $name) {
   $result = "The student: " . $name . " belongs to the: " .$groups[$index]. "group" ;
   echo ($result);
   echo "<br>";
   echo "<br>";
}

当到了第四个name项时,group item应该是1,有没有办法这样想?

预期结果

John - 1

Jane - 2

George - 3

Jim - 1

Jack - 2

提前致谢

最佳答案

我们假设数组是数字索引的(从 0 开始),并且没有跳过的索引(即 $group 数组总是定义为范围(1, $n);).

然后您可以使用取模运算符 % 来计算该数组的长度,如下所示。

foreach ($names as $index => $name) {
   $result = "The student: " . $name . " belongs to group " .$groups[$index % count($groups)]. ".\n";
   echo $result;
}

关于如果一个索引是最后一个倒带数组,则PHP循环两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55516054/

相关文章:

php - 根据子表从多个表中删除多条记录

php - 避免 MySQL 中的多个列值重复

php - 根据发送的参数进行动态重定向php

c - 我如何在 c 中创建一个二维数组并使用指针和函数显示它?

Java Velocity循环在每3个项目周围添加div

javascript - 为什么console.log 在作为参数传递给forEach 时不起作用?

php - 如何在 ./app/console 中获得像一位 Composer 那样的 Logo ?

javascript - mysql2返回值困惑

java - 如何使用java从文本文件中删除一行?

java - Iterable.forEach(消费者)