簡體   English   中英

PHP創建1個數組,其中4個數組按索引排序

[英]PHP create 1 array of 4 arrays ordered by index

我有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],
...

我猜該解決方案非常簡單,但是我陷於困境:(有人可以幫忙嗎?

您可以使用foreach循環合並4個數組:

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

因此$ arr將是合並數組

我會做類似的事情:

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

請執行以下方法:

while($db->query($sql)){
$namesArr[] =$db->f('names');
$folderArr[]=$db->f('folder');
$updatedAt[]=$db->f('updated');
$valuesArr[]=$db->f('values');
}
<?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有多少個元素進行迭代。

我在這里利用了多維數組 ,以便第一組方括號實際上是表中的“行”,而第二組方括號是表中的“列”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM