Php 同时循环多个阵列

Php 同时循环多个阵列,php,Php,在做家庭作业时,我不确定我是否能集中精力解决这个问题。我有两个数组具有相同数量的值: $monthsShort = array("Jan", "Feb", ..., "Nov", "Dec"); $monthsLong = array("January", "February", ..., "November", "December"); 我需要一个循环,它将遍历它们并生成如下输出: 1月1日 2月2日 12月12日 我真的不知道从哪里开始,因为我在课本上找不到类似的问题。我确实发现了这个:

在做家庭作业时,我不确定我是否能集中精力解决这个问题。我有两个数组具有相同数量的值:

$monthsShort = array("Jan", "Feb", ..., "Nov", "Dec");
$monthsLong = array("January", "February", ..., "November", "December");
我需要一个循环,它将遍历它们并生成如下输出:

1月1日

2月2日

12月12日

我真的不知道从哪里开始,因为我在课本上找不到类似的问题。我确实发现了这个:,但我不确定它是如何工作的。非常感谢您的帮助

$index = 0;
foreach ($monthsShort as $month) {
    echo $index+1 . " " . $month . " " . $monthsLong[$index] . "\n";
    $index++;
}

轻松点

我会使用
for
循环来实现这一点,如下所示:

for($i = 0; $i < 12; $i++)
{
    printf("%d %s %s<br />\n", $i + 1, $monthsShort[$i], $monthsLong[$i]);
}
($i=0;$i<12;$i++)的

{
printf(“%d%s%s
\n”、$i+1、$monthshort[$i]、$monthsLong[$i]); }
$output='';
$count=count($monthshort);
对于($i=0;$i<$count;$i++){
$output.=$i.'.$monthshort[$i].'.$monthsLong[$i].
; } echo$输出;
用于($i=0;$i<12;$i++){
$p=$i+1;
回声“$p{$monthshort[$i]}{$monthsLong[$i]}”;
}

您可以使用以下语法获取数组的单个索引:

$myArray = array("Jan", "Feb", "etc.");
echo $myArray[0]; // prints "Jan"
echo $myArray[1]; // prints "Feb"
唯一的诀窍是您希望索引也是一个变量,您可以使用
for
循环for。这将打印“JanFebetc”:

for($i=0;$i

这两个数组一起应该可以让您同时遍历两个数组。

您选择的示例是针对数组中的数组,实际上您有两个要同时迭代的数组。那是不一样的

您可以先将两个数组与合并,然后迭代新数组:

$monthsShort = array("Jan", "Feb", '...', "Nov", "Dec");
$monthsLong = array("January", "February", '...', "November", "December");

$map = array_map(NULL, $monthsShort, $monthsLong);

foreach($map as $month => $value)
{
    list($short, $long) = $value;
    printf("%d %s %s\n", $month+1, $short, $long);
}

看。在编程中,一个问题通常有多个解决方案,我选择
array\u map
轻松迭代一个数组。

使用count函数对数组中的项目进行计数

<?php
    $monthsShort = array("Jan", "Feb", "Nov", "Dec");
    $monthsLong = array("January", "February", "November", "December");

    for($i=0;$i<count($monthsLong);$i++){
        echo $i." ".$monthsShort[$i]." ".$monthsLong[$i]."\n";
    }

?>

不管您提供的示例数据如何。确保数组的长度相同!如果有问题:
echo$i+1
for($i = 0; $i < count($myArray); $i++) {
    echo $myArray[$i];
}
$monthsShort = array("Jan", "Feb", '...', "Nov", "Dec");
$monthsLong = array("January", "February", '...', "November", "December");

$map = array_map(NULL, $monthsShort, $monthsLong);

foreach($map as $month => $value)
{
    list($short, $long) = $value;
    printf("%d %s %s\n", $month+1, $short, $long);
}
<?php
    $monthsShort = array("Jan", "Feb", "Nov", "Dec");
    $monthsLong = array("January", "February", "November", "December");

    for($i=0;$i<count($monthsLong);$i++){
        echo $i." ".$monthsShort[$i]." ".$monthsLong[$i]."\n";
    }

?>
0 Jan January
1 Feb February
2 Nov November
3 Dec December