PHP foreach循环中的多个索引变量

Don*_*lor 32 php foreach loops for-loop

是否有可能foreach在PHP中有一个带有多个"索引"变量的循环,类似于以下(不使用正确的语法)?

foreach ($courses as $course, $sections as $section)
Run Code Online (Sandbox Code Playgroud)

如果没有,是否有一个很好的方法来实现相同的结果?

Wil*_*ill 49

实现你可以做到的结果

foreach (array_combine($courses, $sections) as $course => $section)
Run Code Online (Sandbox Code Playgroud)

但这只适用于两个阵列

  • 注意; 如果`$ courses`是对象,这将无效. (4认同)
  • 注意; 如果`$ courses`是数字字符串,它们将变成整数. (4认同)

cod*_*ict 15

如果两个阵列的大小相同,则可以使用for循环:

for($i=0, $count = count($courses);$i<$count;$i++) {
 $course  = $courses[$i];
 $section = $sections[$i];
}
Run Code Online (Sandbox Code Playgroud)


Ala*_*nse 6

你需要使用这样的嵌套循环:

foreach($courses as $course)
{
    foreach($sections as $section)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,这将循环每个课程的每个部分.

如果你想查看每一对,最好使用包含课程/部分对的对象并循环遍历这些对象,或确保索引相同并执行:

foreach($courses as $key => $course)
{
    $section = $sections[$key];
}
Run Code Online (Sandbox Code Playgroud)


T.T*_*dua 5

尝试-

1)

<?php
$FirstArray = array('a', 'b', 'c', 'd');
$SecondArray = array('1', '2', '3', '4');

foreach($FirstArray as $index => $value) {
    echo $FirstArray[$index].$SecondArray[$index];
    echo "<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)

或2)

<?php
$FirstArray = array('a', 'b', 'c', 'd');
$SecondArray = array('1', '2', '3', '4');

for ($index = 0 ; $index < count($FirstArray); $index ++) {
  echo $FirstArray[$index] . $SecondArray[$index];
  echo "<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)