Php多维数组与混合for和Foreach循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Php多维数组与混合for和Foreach循环相关的知识,希望对你有一定的参考价值。

我是php的初学者,目前正致力于将经典ASP(VB)的小型网站重新编码为PHP,我想知道是否有一个相当直接的“翻译”将这个概念从一种语言转换为另一种语言?

我知道嵌套的foreach循环可以完成这项工作,但是,我很好奇,如果一个for fore循环,带有foreach内循环可以工作吗?

这是我试图做的事情。由于某种原因,变量$ strMonth_Alpha不会返回。感谢任何线索。

PHP代码:

$strMonthList='01,January;02,February;03,March;04,April;05,May;06,June;07,July;08,August;09,September;10,October;11,November;12,December';
$arrMonthList=explode(';',$strMonthList); //create the outer array
    //print_r(array_values($arrMonthList));
    for ($ii=0; $ii<count($arrMonthList); $ii++) {
        $M=explode(',',$arrMonthList[$ii]); //create the inner array
        //print_r(array_values($M));
        $myArrayCount=0;
            foreach($M as $a => $item) {
                    if ($myArrayCount==0) {
                    $strMonth_Num=$M[$myArrayCount];
                    //echo '<BR>$strMonth_Num...'.$strMonth_Num.'<BR>';
                    }

                    if ($myArrayCount==1) {
                    $strMonth_Alpha=$M[$myArrayCount];
                    }else{
                    $strMonth_Alpha='';
            $myArrayCount=($myArrayCount+1);
                 }  
            }
    }//to next month
答案

尝试了你的代码,除了格式化之外什么也没有改变,只是回显变量,我得到值“十二月”。这是你想要的吗 ?

只需在最后一个括号后添加到代码的末尾即可。

echo $strMonth_Alpha;
另一答案

代码中的print($strMonth_Alpha)或打印任何其他变量来调试并查看事情的变化。我刚刚尝试在if / else语句后打印这个,我得到:

print($strMonth_Alpha . '<br/>');

January
February
March
April
May
June
July
August
September
October
November
December

知道你每个循环覆盖$strMonth_Alpha

如果像01,January这样的数据总是采用这种格式(即假设您的代码可以安全地生成),那么您可以简化代码以删除第二个for循环。

$arrMonthList=explode(';',$strMonthList); //create the outer array
//print_r(array_values($arrMonthList));
for ($ii=0; $ii<count($arrMonthList); $ii++) {
    $M=explode(',',$arrMonthList[$ii]); //create the inner array
    echo($M[0] . "<br/>"); // num
    echo($M[1] . "<br/>"); // month name

}//to next month

以上是关于Php多维数组与混合for和Foreach循环的主要内容,如果未能解决你的问题,请参考以下文章

PHP foreach循环遍历多维数组

PHP遍历数组常用方式(for,foreach,while,指针等等)

使用foreach打印多维数组[重复]

php中for循环与foreach循环效率比较

2018-06-15for与数组/for-in与数组/一维二维多维数组

PHP如何将嵌套的foreach变成数组的数组(多维数组)