我想几个阵列组合成一个,他们是一种形式后与未知数量的元素,如结果: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