我有以下数组:
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实现此目的?
感谢。
答案 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";
?>
这些例子不是万无一失的,例如他们做出的假设,例如数组在数字上没有空洞索引,但我希望它足够接近你想要的。