texto - Intersecta un número desconocido de matrices en PHP
replace in array php (4)
Estoy intentando interceptar un número arbitrario de matrices PHP, cuyo recuento depende de un parámetro proporcionado por el usuario, cada uno de los cuales puede tener cualquier cantidad de elementos.
Por ejemplo: array1 (1, 2, 3, 4, 5) array2 (2, 4, 6, 8, 9, 23) array3 (a, b, 3, c, f) ... arrayN (x1, x2, x3, x4, x5 ... xn)
Como array_intersect toma una lista de params, no puedo construir una matriz de matrices para intersectar y tengo que trabajar en esto. Intenté esta solución: http://bytes.com/topic/php/answers/13004-array_intersect-unknown-number-arrays pero esto no funcionó, ya que se informó de un error que array_intersect requiere 2 o más params.
¿Alguien tiene alguna idea de cómo abordar esto de la manera más simple posible?
¡No use eval ()!
Prueba esto
$isect = array();
for ($i = 1; $i <= $N; $i++) {
$isect = array_intersect($isect, ${''array''.$i});
}
o eso
$arrays = array()
for ($i = 1; $i <= $N; $i++) {
$arrays[] = ${''array''.$i};
}
$isect = call_user_func_array(''array_intersect'', $arrays);
Cree una nueva matriz vacía, agregue cada una de sus matrices a esa, luego use call_user_func_array ()
$wrkArray = array( $userArray1,
$userArray2,
$userArray3
);
$result = call_user_func_array(''array_intersect'',$wrkArray);
$arrays = [
$userArray1,
$userArray2,
$userArray3
];
$result = array_intersect(...$arrays);
Estoy publicando mi respuesta muy tarde, pero solo quiero compartir un pequeño fragmento de código que me ayude, en caso de que alguien lo necesite para esta pregunta.
print_r(array_intersect(array_merge($array1,$array2,...),$intersectionArr);
espero que esto ayude
Gracias