Foros del Web » Programando para Internet » PHP »

array_intersect_assoc($variable) con variable dentro

Estas en el tema de array_intersect_assoc($variable) con variable dentro en el foro de PHP en Foros del Web. Hola a todos, tengo un problemilla quiero hacer un array_intersect_assoc() y llenarlo con mis respetivos arrays pero desde una variable. Código PHP: $matriz1  = array( "verde" ...
  #1 (permalink)  
Antiguo 05/05/2009, 10:13
Avatar de johnnytolengo  
Fecha de Ingreso: mayo-2009
Mensajes: 7
Antigüedad: 14 años, 11 meses
Puntos: 0
array_intersect_assoc($variable) con variable dentro

Hola a todos, tengo un problemilla quiero hacer un array_intersect_assoc() y llenarlo con mis respetivos arrays pero desde una variable.
Código PHP:
$matriz1 = array("verde""amarillo""rojo");
$matriz2 = array("verde""amarilldo""rodjo");   

[
B]$matrix_conjunto[/B] = $matriz1.'[B],[/B]'.$matriz2;    // mi varible para llenar 

$prodid_prefinal_A array_intersect_assoc([B]$matrix_conjunto[/B]); //lo lleno con variable $matrix_conjunto

foreach ($prodid_prefinal_A as $value) {  //deberia imprimir solo "verde"
echo $value.',';

el tema es que si al ARRAY lo lleno como Dios manda funciona perfecto:

array_intersect_assoc($matriz1,$matriz2);

pero yo lo necesito si o si llenar con una variable, por motivos que en mi script real los array los creo con un for, pero para este ejemplo lo hice bien facil y tampoco funciona.

1) Porque motivo no puedo llenar el array_intersect_assoc() con una variable??
2) En todo caso como lo podria resolver?

Muchas gracias de antemano.

J.

Última edición por johnnytolengo; 05/05/2009 a las 11:03
  #2 (permalink)  
Antiguo 05/05/2009, 10:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: array_intersect_assoc($variable) con variable dentro

Tema trasladado desde PHP Orientado a Objetos
  #3 (permalink)  
Antiguo 05/05/2009, 11:16
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: array_intersect_assoc($variable) con variable dentro

Hola johnnytolengo, cómo vas?

Por qué no puedes usar arrays en lugar de tus variables? array_intersect_assoc sólo funciona con arrays, no con variables.

Si quieres usar esa función, sí o sí (como dices tú jeje), debes usar arrays.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 05/05/2009, 11:29
Avatar de johnnytolengo  
Fecha de Ingreso: mayo-2009
Mensajes: 7
Antigüedad: 14 años, 11 meses
Puntos: 0
Gracias, bien :D

No puedo poner los arrays directo porque si los pongo ahi no simpre todos poseen valor y si dentro del array_intersect_assoc() hay un array vacio esto devuelve false, este es el problema.

Por eso lo intento hacer asi:
ejemplo sacado del original:

Código PHP:
$prodid_prefinal0[]   
/*hasta*/  
 
$prodid_prefinal5[] 
Estos se crean segun la ocacion, siempre uno o mas de uno quedan vacios

Código PHP:
for ($i=0$i<5$i++){
if ( 
is_array(${'prodid_prefinal'.$i}) == true) { // si es true entoces lo imprimo
$matrix '"'.${'prodid_prefinal'.$i}.'",'.$matrix;
    }

Que solucion le puedo dar a esto? solo necesito la interseccion se los numero dentro de esos arrays.
Vos decis que array_intersect_assoc() no permite variables. (que cosa extrana :( )

Alguna idea para hacerlo de otra manera?

Se puede sacar con php de una cadena por ejemplo $A = '3,4,5,6,3,3,5' solo las intersecciones ? en este caso seria 3 y 5.
como?

muchas gracias por el empujon :)

J.

al final luchando logre la solucion RE SIMPLE!!!
a todos los arrays les agrego un dato(algo que nunca voy a tener en mi base de datos) para que por lo menos existan y no me de false.
ej:

Código PHP:
$prodid_prefinal0[]= '%^#=-';
$prodid_prefinal1[]= '%^#=-';
$prodid_prefinal2[]= '%^#=-';
$prodid_prefinal3[]= '%^#=-';
$prodid_prefinal4[]= '%^#=-';
$prodid_prefinal5[]= '%^#=-'
y aca solo mando el intersect, eso si simpre me va a devolver por lo menos ese simbolo feo

Código PHP:
$prodid_final_A =array_intersect($prodid_prefinal0,$prodid_prefinal1,$prodid_prefinal2,$prodid_prefinal3,$prodid_prefinal4,$prodid_prefinal5); 

y listo.

J.

Última edición por GatorV; 05/05/2009 a las 14:29
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:17.