2010-11-23 23 views
2

我試圖在三個這樣的行顯示的數據(注意項目的數量不會永遠是偶數):三個行中的PHP回聲?

 
abcd defg hijk 
lmno pqrs tuvw 
xyz1 2345 6789 
1011 1213 

我掙扎着爬邏輯正確的做到這一點(這是在foreach()循環中)。

我知道我必須有一些if($i %3 == 0)邏輯在那裏..但我有點卡住了。

任何人都可以幫我嗎?

回答

3
$a = array('abcd','defg','hijk','lmno'); 
for ($i = 0; $i < count($a); $i++) { 
    if ($i && $i % 3 == 0) 
    echo '<br />'; 
    echo $a[$i].' '; 
} 
0

僞代碼,因爲我不知道PHP(你問這往往是在所有的程序語言相同的邏輯):

perline = 3 
i = 0 
foreach item in list: 
    if i > 0 and (i % perline) == 0: 
     print newline 
    if (i % perline) != 0: 
     print space 
    print item 
    i = i + 1 

這將兩個輸出一個行分隔符在元素3,6,9等(第一個元素爲0)之前,在每行的第二個和第三個元素之前放置所需的任意間距。您可以對perline使用不同的值來更改每行上的數字輸出。

1

這是更好地使用for環路:

// run $i for each index in the array. 
for($i=0 ; $i<count($arr) ; $i++) { 

     // if $i is non-zero and is divisible by 3 print a line break. 
     if ($i && $i % 3 == 0) { 
       echo "<br />"; 
     } 

     // print the element at index $i. 
     echo $arr[$i].'&nbsp;'; 
} 

Code in action