在foreach循环中输出另一个数组?

时间:2011-04-26 22:56:01

标签: php arrays loops foreach

我有一个像这样的foreach循环:

$test_array = array(1, 2, 3, 4, 5);

foreach($categories as $category)
{ 
    echo $category; // outputs cat one cat two cat three cat four cat five etc
    echo $test_array; // outputs Array Array Array Array Array
}

这显示出很好的花花公子。

但是我也想输出 test_array 数组,但是当我这样做时,它会说'数组数组数组阵列数组'以及我的类别:(

如何让test_array也显示在我的foreach循环中?

5 个答案:

答案 0 :(得分:2)

如果您的答案是您想要的,如果您没有使用数组索引进行奇怪的操作,那么您可以说

foreach ($categories as $index => $category)
{
      echo $category, $test_array[$index];
}

但请注意,这取决于具有连续数字索引的两个数组。定义为array(2, 5, 10)的数组工作正常,$arr[] = $some_value;构建的数组也是如此。但是,如果您使用的是非数字键或无序添加,则可能会出现问题。

答案 1 :(得分:1)

使用print_r功能。

答案 2 :(得分:1)

尝试这个嵌套循环。我认为它会做你想要的。

$loopCount = 0;
    foreach($categories as $category) { 
      echo $category;
      if($count <5) {          
       foreach($test as $someInt) {
         echo $someInt;
         $count++;
        }
      }
    }

答案 3 :(得分:0)

我个人更喜欢var_dump。祝你好运!

答案 4 :(得分:0)

想想我想出了一个解决方案:

$test_array = array(1, 2, 3, 4, 5);

$i=-1;
foreach($categories as $category)
{ 
    $i++;
    echo $category; // outputs cat one cat two cat three cat four cat five etc
    echo $test_array[$i]; // outputs Array Array Array Array Array
}

这有效,但可以吗?