PHP数组循环,通过数字索引访问

时间:2014-11-12 21:01:12

标签: php arrays for-loop

我底部有两个数组,我希望用数字索引输出它们的值。看起来如此简单,但我不能让它为我的生活工作。我将这些嵌套到其他一些foreach循环中。

 $x = $ppro_model->orderedByDate($val->ProdCode);
                          $xx = $ppro_model->receivedByDate($val->ProdCode);
                          $ordQty = arrayDateBuilder($x, 'ordQUANTITY', $daterange);
                          $recQty = arrayDateBuilder($xx, 'recQUANTITY', $daterange);

$ ordQty和$ recQty总是会有相同数量的元素。 理想情况下,我希望能够做到以下几点:

 for($i = 0; $i <= count($ordQty); $i++){
                        echo "<td>";
                        echo $ordQty['recQUANTITY'][$i];
                        echo $recQty['ordQUANTITY'][$i];
                        echo "<td>";
                    }

但我肯定做错了什么。任何意见,将不胜感激。

我也尝试过:

  echo $ordQty[$i];

无济于事。

array (size=7)
  0 => 
    array (size=2)
      'DATE' => string '20141110' (length=8)
      'ordQUANTITY' => string '55.00' (length=5)
  1 => 
    array (size=2)
      'DATE' => string '20141111' (length=8)
      'ordQUANTITY' => string '80.00' (length=5)
  2 => 
    array (size=2)
      'DATE' => string '20141112' (length=8)
      'ordQUANTITY' => string '70.00' (length=5)
  3 => 
    array (size=2)
      'DATE' => string '20141113' (length=8)
      'ordQUANTITY' => string '135.00' (length=6)
  4 => 
    array (size=2)
      'DATE' => string '20141114' (length=8)
      'ordQUANTITY' => string '70.00' (length=5)
  5 => 
    array (size=2)
      'DATE' => string '20141115' (length=8)
      'ordQUANTITY' => string '120.00' (length=6)
  6 => 
    array (size=2)
      'DATE' => string '20141116' (length=8)
      'ordQUANTITY' => string '0' (length=1)

然后就像:

array (size=7)
  0 => 
    array (size=2)
      'DATE' => string '20141110' (length=8)
      'recQUANTITY' => string '0' (length=1)
  1 => 
    array (size=2)
      'DATE' => string '20141111' (length=8)
      'recQUANTITY' => string '0' (length=1)
  2 => 
    array (size=2)
      'DATE' => string '20141112' (length=8)
      'recQUANTITY' => string '0' (length=1)
  3 => 
    array (size=2)
      'DATE' => string '20141113' (length=8)
      'recQUANTITY' => string '0' (length=1)
  4 => 
    array (size=2)
      'DATE' => string '20141114' (length=8)
      'recQUANTITY' => string '0' (length=1)
  5 => 
    array (size=2)
      'DATE' => string '20141115' (length=8)
      'recQUANTITY' => string '0' (length=1)
  6 => 
    array (size=2)
      'DATE' => string '20141116' (length=8)
      'recQUANTITY' => string '0' (length=1)

1 个答案:

答案 0 :(得分:2)

你的数组表达式向后,它应该是$ordQty[$i]['ordQUANTITY']。此外,您的循环条件错误,它应该是$i < count($ordQty),而不是<=,因为数组索引从0转到count-1

可以使用foreach进行简化。

foreach ($ordQty as $i => $ordElt) {
    echo "<td>";
    echo $ordElt['ordQUANTITY'];
    echo $recQty[$i]['recQUANTITY'];
    echo "<td>";
}