2012-12-07 61 views
1

我具有以下排列:如何顯示陣列正確

array(6) { 
    [0]=> 
    string(4) "XXX1" 
    [1]=> 
    int(16) 
    [2]=> 
    string(4) "YYY1" 
    [3]=> 
    string(4) "XXX2" 
    [4]=> 
    int(632) 
    [5]=> 
    string(4) "YYY2" 
} 

我想有一個這樣的輸出:

首先XXX - 第一INT() - 第一YYY \ n

第二個XXX - 第二個int() - 第二個YYY \ n

如何使用while,for或foreach來實現?

謝謝。

回答

1

我不知道你在尋找什麼樣的輸出對,但這把它放在段落標記:

$cnt = 0; 
$out = '<p>'; 
foreach ($arr as $key => $value){ 
    $out .= $value.' - '; 
    $cnt++; 
    if ($cnt == 3){ 
     $cnt = 0; 
     $out = substr($out, 0, -3).'</p><p>'; 
    } 
} 
$out = substr($out, 0, -3); 
1

象PE那樣去萊奧,我不是100%肯定我明白了輸出你的願望,但這裏有兩個候選者:

不檢查一個完整的3「設置」:

<?php 
$flat = array(
    "XXX1", 
    16, 
    "YYY1", 
    "XXX2", 
    632, 
    "YYY2" 
); 

for ($i = 0; $i < count($flat); $i += 3) 
    echo "{$flat[$i]} - {$flat[$i + 1]} - {$flat[$i + 2]}\n"; 
?> 

檢查是否爲一個完整的3「套」:

<?php 
$flat = array(
    "XXX1", 
    16, 
    "YYY1", 
    "XXX2", 
    632, 
    "YYY2", 
    "XXX3", 
    932 
); 

for ($i = 0; $i < count($flat) && ($i + 3) < count($flat); $i += 3) 
    echo "{$flat[$i]} - {$flat[$i + 1]} - {$flat[$i + 2]}\n"; 
?> 

這些例子並不是傻瓜式的,例如他們會假設像數組索引沒有孔,但我希望這足夠接近你想要的。