如何正确显示数组

时间:2012-12-07 18:23:16

标签: php arrays

我有以下数组:

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

我想有这样的输出:

First XXX - First int() - First YYY \ n

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

如何使用while,for或foreach实现此目的?

感谢。

2 个答案:

答案 0 :(得分: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 :(得分:1)

像Pe de Leao一样,我并不是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";
?>

这些例子不是万无一失的,例如他们做出的假设,例如数组在数字上没有空洞索引,但我希望它足够接近你想要的。