我想幾個陣列組合成一個,他們是一種形式後與未知數量的元素,如結果:PHP結合幾個陣列來一個
$ids = [53,54,55];
$names = ['fire','water','earth'];
$temps = [500,10,5];
我要的是讓一個函數這需要這些陣列作爲輸入,併產生一個輸出,如
$elements = [['id'=>53,'name'=>'fire','temp'=>500] , ['id'=>54,'name'=>'water','temp'=>500] , ['id'=>55,'name'=>'earth','temp'=>500]]
我想出了以下解決方案:
function atg($array) {
$result = array();
for ($i=0;$i<count(reset($array));$i++) {
$newAr = array();
foreach($array as $index => $val) {
$newAr[$index] = $array[$index][$i];
}
$result[]=$newAr;
}
return $result;
}
它可以被稱爲像
$elements = atg(['id' => $ids, 'name' => $names, 'temp' => $temps]);
而且它產生的右聲道輸出。對我來說,它似乎有點過於複雜,但我確信這是表單帖子的PHP中的常見問題,將單獨的字段組合成單個數組。什麼會是更好的解決方案?
3x'temp => 500' in your output,typo? – Rizier123