繁体   English   中英

for循环内的foreach; 不断循环

[英]foreach inside the for loop; keep looping

我目前正在foreach和for循环上练习,将​​它们组合在一起会使我得到意想不到的结果。 下面是for循环语句中的一个foreach语句。

PHP:

<?php
$names = array("A", "B", "C", "D"); 

for ($i = 0; $i <= 3; $i++) 
{
    foreach ($names as $name) 
    {
        echo "$name = $i ";
    }
}
?>

OUTPUT:

A = 0 B = 0 C = 0 D = 0 A = 1 B = 1 C = 1 D = 1 A = 2 B = 2 C = 2 D = 2 A = 3 B = 3 C = 3 D = 3

预期的输出:

A = 0 B = 1 C= 2 D = 3

请告诉我我在做错什么,对此有什么解决方案。

PS:我不想使用数组键和值。 :)

foreach循环遍历整个数组,每次通过外部循环。 尝试这个:

$i = 0;
foreach ($names as $name) {
    echo "$name = $i ";
    $i++;
}

您只需要foreach

foreach($names as $key => $value) {
   echo "$value: $key";
}

您不需要仅嵌套循环样式就可以获取数组键-PHP可以使用foreach的as $key => $value版本轻松地将它们提供给您。

您可以使用While循环

$names = array("A", "B", "C", "D"); 
$i=0;

    foreach ($names as $name) 
    {
        echo "$name = $i ";
        $i++;
        array_pop($names);
    }

结果:

A = 0 B = 1 C = 2 D = 3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM