我想通过将一个条目放在另一个条目下面来组合三个php数组,如下所示:
while ($i <= $no)
{
$results[$i] = $blah[$i];
$i++;
$results[$i] = $thing[$i];
$i++;
$results[$i] = $something[$i];
$i++;
}
然而问题是$ $可以超过,因为我需要在每个循环中增加$ i三次。
最终结果:
array (size=12)
1 =>
array (size=4) (from $blah)
2 =>
array (size=4) (from $thing)
3 =>
array (size=4) (from $something)
4 =>
array (size=4) (from $blah)
......这需要继续,直到达到$ no的大小
答案 0 :(得分:2)
while ($i <= $no)
{
$results[$i] = $blah[$i];
$i++;
if($i > $no){ break;}
$results[$i] = $thing[$i];
$i++;
if($i > $no){ break;}
$results[$i] = $something[$i];
$i++;
}
答案 1 :(得分:1)
您正在寻找break
statement。您可能还需要append到结果数组,而不是指定特定索引:
$results = array();
while ($i <= $no) {
$results[$i] = $blah[$i];
$i++;
if ($i > $no) break;
$results[] = $thing[$i]; // just append
$i++;
if ($i > $no) break;
array_push($results, $something[$i]); // append with array_push
$i++;
}
答案 2 :(得分:-1)
为什么不简化:
$results = array_push($blah, $thing, $something);
// appends the arrays together
或
$results = array_merge($blah, $thing, $something);
// merges arrays together