2016-04-12 45 views
4

有人能告诉我这两个循环/代码片断有什么区别吗?for循环与for while嵌套list之间的区别()

我得到了相同的输出,但是一本教科书指出与外部和内部循环有区别吗?任何澄清都会有帮助。我不认为我正在理解每个函数的列表。

数组定义:

$newArray = array(array('CODE' => 'TIR', 'Description' =>'TIRES', 'Price' => 100), 
        array('CODE' => 'OIL', 'Description' => 'Oil', 'Price' =>10), 
        array('CODE' => 'SPK', 'Description' => 'Spark Plug', 'Price' =>40) 
      ); 

代码片段:

for ($row = 0; $row < 3; $row ++) 
{   
    echo ' |'.$newArray[$row]['CODE'].'| '.$newArray[$row]['Description']. '| '.$newArray[$row]['Price']; 
    echo '<br />'; 
    echo '<br />';  
} 

代码片断2:

for ($row =0; $row <3; $row ++) 
{ 
    while (list($key, $value) = each ($newArray[$row])) 
    { 
     echo "|$value"; 
    } 
    echo '<br />'; 
    echo '<br />'; 
} 
+4

那么,一旦你硬编码的第二维键,在第二个你使用一个while循环遍历每个子数组的所有元素。只需为每个子数组添加另一个值,就会看到它,如下所示:'“another element”=>“只会显示在第二个代码片段中”# – Rizier123

回答

1

是的,有区别,如果你从算法角度看它视图。

第一个的时间复杂度为O(n),第二个为O(n )。

所以,第一个更有效率。

+0

这两个代码片段可以完全相同,因此您可以'真的比较它们。 – Rizier123

+0

那么你假设第二维是硬编码的,我假设数组长度和维数都是可变的。 – shikhar