2013-10-29 83 views
0

我有一個列表,用符號|每個項目之間。在這裏我想循環這些項目。這裏的問題是循環創建了一個具有空值的額外循環。這裏不應該顯示這個額外的循環。從爆炸物品的for循環中的額外循環

我在做什麼錯?

PHP:

<?php 

    $variable['value'] = Something here|Another thing here 

    $loop = explode("|", $variable['value']); 

    for($x='0';$x<=count($loop);$x++) { 

    echo "<span class='icon-caret-right'>"; 
    echo $loop[$x]; 
    echo "</span>"; 

    }    
    ?> 

回答

2

首先:你在for循環條件是不正確 - count值總是等於最大指數+ 1,這樣你就可以將其更改爲$x=0; $x<=count($loop)-1; $x++$x=0; $x<count($loop); $x++

第二個:不要在內部循環條件中使用count - 因爲它是在以前計算的y步驟,你不需要它 - 用foreach代替。

第三個:爲什麼$x='0'$x應該是一個整數,所以$x=0

+0

你的第三個:$ x ='0'它並不重要。 PHP只把它作爲整數。 –

+0

@SureshKamrushi,好吧,從技術上講它是真的,但是:可以使用'$ x = null;'或者甚至簡單地使用'$ x;',但是* * *應該編寫好的代碼,而不需要像增加字符串那樣的奇怪事情。 – k102

+0

我剛纔說「沒關係」,而不是錯誤.. :) –

0

作出條件如下面

for($x=0;$x<count($loop);$x++) { 

刪除 「< =」 從條件。

for($x='0';$x<=count($loop);$x++) { 
0

因爲你的起始索引是0所以從條件中刪除「=」或者你可以從1開始x的值。兩者在邏輯上是相同的。

for($x=0;$x<count($loop);$x++) 

 for($x=1;$x<=count($loop);$x++)