PHP创建1个按索引排序的4个数组的数组

时间:2017-03-28 09:08:12

标签: php arrays

我有4个数组,每个数组都有一个表的另一列,我想用每个数组[$ i]创建一个数组。所有数组都具有相同数量的值:$ namesArr,$ folderArr,$ updatedAt,$ valuesArr。 我希望我的新数组包含:

$namesArr[0], $folderArr[0], $updatedAt[0], $valuesArr[0],
$namesArr[1], $folderArr[1], $updatedAt[1], $valuesArr[1],
$namesArr[2], $folderArr[2], $updatedAt[2], $valuesArr[2],
...

我想解决方案非常简单,但我卡住了:( 有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

您可以使用foreach循环合并4个数组:

foreach ($namesArr as $key => $value) {
    $arr[$key][] = $value;
    $arr[$key][] = $folderArr[$key];
    $arr[$key][] = $updatedAt[$key];
    $arr[$key][] = $valuesArr[$key];
}

因此$ arr将是合并数组

答案 1 :(得分:1)

我会做类似的事情:

$arr = array_map(function () { return func_get_args(); },$namesArr, $folderArr, $updatedAt, $valuesArr);

答案 2 :(得分:0)

按以下方式执行:

while($db->query($sql)){
$namesArr[] =$db->f('names');
$folderArr[]=$db->f('folder');
$updatedAt[]=$db->f('updated');
$valuesArr[]=$db->f('values');
}

答案 3 :(得分:0)

<?php
$newArr = array();
for ($i = 0; $i < count($namesArr); $i++)
{
    $newArr[$i][0] = $namesArr[$i];
    $newArr[$i][1] = $folderArr[$i];
    $newArr[$i][2] = $updatedAt[$i];
    $newArr[$i][3] = $valuesArr[$i];
}
?>

解释

这将根据$namesArr中的元素数量进行迭代。

我在这里使用multidimensional array,因此第一组方括号实际上是&#34; row&#34;在表格中,第二组方括号是&#34;列&#34;一张桌子。