php
  • loops
  • foreach
  • 2012-09-23 173 views -4 likes 
    -4
    foreach($CarAdList as $CarAd) 
    { 
        echo($msg .= '<tr><td>'.$CarAd->getCarAdID().'</td><td>' .$CarAd->getBrandText().'</td><td>' .$CarAd->getDescription(). '</td><td><a href="status.php?id='.$CarAd->getCarAdID().'"><img src="../images/active.png" /></a></td><td><img src="../images/delete.png" width="30px" /></td></tr>'); 
    } 
    

    例如, 行數= 38Foreach循環運行N次

    N =行數*的rows--

    它正在運行的數目n倍

    所以它的顯示

    5 
    5 
    4 
    5 
    4 
    3 
    5 
    4 
    3 
    2 
    5 
    4 
    3 
    2 
    1 
    
    +0

    什麼問題? –

    +0

    這不是一個問題。 – clentfort

    +0

    你的問題是什麼?你期望它運行多少次? :) – Curious

    回答

    1

    echo($msg .= 'somecontent')是一個非常奇怪的構造。要麼將數值連接起來並最終輸出,要麼立即執行輸出。

    foreach($a as $b) { 
        echo $b; 
    } 
    

    $var = ''; 
    foreach($a as $b) { 
        $var .= $b; 
    } 
    echo $var 
    
    +0

    哇感謝問題解決了非常感謝 –

    1

    循環只運行所需的次數,但你的outpu噸不匹配。這是因爲你正在向$msg添加文本,並且在echo的同時添加文本。

    無論是構建循環$msg後來呼應,或沒有呼應的concatting前面的結果,就像這樣:

    foreach($CarAdList as $CarAd) 
    { 
        echo '<tr><td>'.$CarAd->getCarAdID().'</td><td>' .$CarAd->getBrandText().'</td><td>' .$CarAd->getDescription(). '</td><td><a href="status.php?id='.$CarAd->getCarAdID().'"><img src="../images/active.png" /></a></td><td><img src="../images/delete.png" width="30px" /></td></tr>'; 
    } 
    
    +1

    @OP:澄清:第一次,假設'$ msg'爲空,代碼輸出第一行。第二,因爲你正在將第二行添加到現有的'$ msg'(已經有第一行)並顯示整個事物,它將輸出第一個* 2 *行。第三,第一*三*。等等。 – cHao

    相關問題