意外的输出

时间:2011-01-24 15:21:32

标签: php

我使用代码从函数返回数据并显示它。

考虑:i = j = 0; count = 4;

我没有从代码中获得4返回值..。是预期的输出。

但是当我用print_r($EODRow);

替换for循环时,我得到了结果

请帮助。

    $i = 0; 

    $j = 0; 

    $count = getEODCount("A"); 

    for(; $i < $count; $i++)

    { 

          $EODRow = getEOD("A",$i); 

          print "<tr>"; 

          for(; $j < 12; $j++) 

          { 

                      print "<td>$EODRow[$j]</td>"; 

          }  

          print "</tr>";  

} 

我从函数返回一个值数组。

4 个答案:

答案 0 :(得分:4)

你可能必须在内循环之前将$ j重置为0,因为在第一次运行外循环后它不会输出任何内容

答案 1 :(得分:2)

尝试使用{}包装变量,因此print "<td>{$EODRow[$j]}</td>";

<强>解释

问题是编译器不会将索引应用于$ EODRow而不确定它是同一个变量的一部分,这就是{}正在做的事情。 (那是我对如何/为什么的理解)

答案 2 :(得分:1)

尝试在发生另一个$ i步骤时重置为零

 for(; $i < $count; $i++)

{ $j == 0;

答案 3 :(得分:1)

您需要在每个循环中重置循环变量。在每个$j循环后,$i未被重置为0。

您应该将循环更改为:

for($i = 0; $i < $count; $i++)

for($j = 0; $j < 12; $j++)