我使用以下代码输出数组的内容:
$txt = sprintf("%s %s %s %s %s %s %s", $myarray[1], $myarray[2], $myarray[3], $myarray[4], $myarray[5], $myarray[6], $myarray[7]);
echo $txt;
echo "<br />";
$txt = sprintf("%s %s %s %s %s %s %s", $myarray[8], $myarray[9], $myarray[10], $myarray[11], $myarray[12], $myarray[13], $myarray[14]);
echo $txt;
echo "<br />";
$txt = sprintf("%s %s %s %s %s %s %s", $myarray[15], $myarray[16], $myarray[17], $myarray[18], $myarray[19], $myarray[20], $myarray[21]);
echo $txt; here
现在我想循环它,我尝试过这样的事情:
for($a=1, $b=2, $c=3, $d=4, $e=5, $f=6, $g=7; $i<=count($myarray); $a,$b,$c,$d,$e,$f,$g +=7)
{
$txt = sprintf("%s %s %s %s %s %s %s", $myarray[$a], $myarray[$b], $myarray[$c], $myarray[$d], $myarray[$e], $myarray[$f], $myarray[$g]);
echo $txt;
}
但遗憾的是它不起作用。
答案 0 :(得分:2)
我的方法是:
$i
增加7。$i
的项目。array
。试试这个:
for ($i=0; $i < count($myArray); $i+=7) {
echo vsprintf("%s %s %s %s %s %s %s", array_slice($myArray, $i, 7)).'<br />';
}
或使用implode,因此代码看起来更干净。
for ($i=0; $i < count($myArray); $i+=7) {
echo implode(" ", array_slice($myArray, $i, 7)).'<br />';
}
答案 1 :(得分:1)
$size = 6;
foreach(array_chunk($array, $size) as $values) {
echo implode(' ', $values) . '<br />';
}
答案 2 :(得分:0)
您没有初始化并增加$ i,我认为这可能会导致问题。
请试试这个,
for($a=1, $b=2, $c=3, $d=4, $e=5, $f=6, $g=7,$i=1; $i<=3; $a+=7,$b+=7,$c+=7,$d+=7,$e+=7,$f+=7,$g+=7,$i++)
{
$txt = sprintf("%s %s %s %s %s %s %s", $myarray[$a], $myarray[$b], $myarray[$c], $myarray[$d], $myarray[$e], $myarray[$f], $myarray[$g]);
echo $txt;
}