[英]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.