Tengo dos matrices y necesito obtener una de ellas. array_merge , array_map etc. No da el resultado correcto.
$array1 = [1,2,3,4,5]; $array2 = [a,b,c,d,e]; Necesito $array3 = [[1,a], [2,b], [3,c]] ...
¿Cuál es la mejor manera de obtener ese resultado?
usando array_map(null, $arr1, $arr2) puede lograr el resultado.
http://php.net/manual/en/function.array-map.php
php > $q = array_map(null, $array1, $array2); php > print_r($q); Array ( [0] => Array ( [0] => 1 [1] => a ) [1] => Array ( [0] => 2 [1] => b ) [2] => Array ( [0] => 3 [1] => c ) [3] => Array ( [0] => 4 [1] => d ) [4] => Array ( [0] => 5 [1] => e ) )El enfoque del bucle for es el siguiente:
<?php $array1 = [1,2,3,4,5]; $array2 = ['a','b','c','d','e']; $array3 = array(); if(count($array1) == count($array2)) { for($i = 0; $i < count($array1); $i++) { $array3[] = [$array1[$i],$array2[$i]]; } } else { die("SIZE MISMATCH"); } echo '<pre>'; print_r($array3);Y la salida es:
Array ( [0] => Array ( [0] => 1 [1] => a ) [1] => Array ( [0] => 2 [1] => b ) [2] => Array ( [0] => 3 [1] => c ) [3] => Array ( [0] => 4 [1] => d ) [4] => Array ( [0] => 5 [1] => e ) )