У меня два массива одинаковой длины:
Array ( [0] => a [1] => b [2] => c ) Array ( [0] => 1 [1] => 2 [2] => 3 )
И я хочу закончить с этим:
Array ( [0] => Array ( [0] => a [1] => 1 ) [1] => Array ( [0] => b [1] => 2 ) [2] => Array ( [0] => c [1] => 3 ) )
array_combine
сделал бы один набор вышеуказанных значений в ключах массива, чего я не хочу – я хочу, чтобы оба они заканчивались как значения массива, объединяя каждый элемент из двух массивов в новый массив.
Есть ли встроенная функция для этого или мне нужно сворачивать самостоятельно?
Попробуй это:
$result = array(); foreach ($array1 as $i => $val) { $result[] = array($val, $array2[$i]); }
Если у вас есть строковые ключи, вы можете использовать array_merge_recursive
для их объединения. Как бы то ни было, вам нужно будет сделать что-то еще. Например:
$result = Array(); $arrays = Array($array1,$array2...); foreach($arrays as $arr) { foreach($arr as $k=>$v) $result[$k][] = $v; }