我使用以下代码来输出数组的内容:
$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;
}但不幸的是,它不起作用。
发布于 2015-09-28 19:29:10
我的方法是:
在每次迭代中,
$i为7。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 />';
}发布于 2015-09-28 19:31:35
$size = 6;
foreach(array_chunk($array, $size) as $values) {
echo implode(' ', $values) . '<br />';
}发布于 2015-09-28 19:36:11
您没有初始化和递增$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;
}https://stackoverflow.com/questions/32821748
复制相似问题