Foros del Web » Programando para Internet » PHP »

buscar en array

Estas en el tema de buscar en array en el foro de PHP en Foros del Web. buenas estoy ya medio loco de e4ste problema que es mas sencillo pero no me da la mente tengo dos arreglos de datos en uno ...
  #1 (permalink)  
Antiguo 02/11/2010, 20:50
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
buscar en array

buenas estoy ya medio loco de e4ste problema que es mas sencillo pero no me da la mente tengo dos arreglos de datos en uno tengo esto
Código PHP:
Ver original
  1. $array1=array(0=>array('dato1'=>'a','dato2'=>'b'),1=>array('dato1'=>'v','dato2'=>'c'));
  2. $array2=array(0=>array('dato1'=>'a','dato2'=>'d'),1=>array('dato1'=>'q','dato2'=>'n'));
  3. foreach($array1 as $id=>$value){
  4.    if(in_array($value['dato1'],$array2){
  5.       /*comandos*/
  6.    }
  7. }
pero nunca entra en el condicional xq sera?? estoy usando mal la funcion o que?? ya me tiene verde gracias por la ayuda que me puedan brindar saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #2 (permalink)  
Antiguo 03/11/2010, 01:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: buscar en array

Porque in_array no hace búsquedas multiples. Solo busca en el primer ciclo.
Código PHP:
Ver original
  1. <?php
  2. $array1=array(0=>array('dato1'=>'a','dato2'=>'b'),1=>array('dato1'=>'v','dato2'=>'c'));
  3. $array2=array(0=>array('dato1'=>'a','dato2'=>'d'),1=>array('dato1'=>'q','dato2'=>'n'));
  4. var_dump(in_array(array('dato1'=>'a','dato2'=>'d'), $array2)); //imprime bool(true)
  5. var_dump(in_array($array1[0]['dato1'], $array2)); //imprime bool(false)
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 03/11/2010, 02:22
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: buscar en array

Si me explicas tu condicion de comparacion talvez sea mas claro para todos y podamos ayudarte, pienso que podria ser que necesitaras un ciclo anidado (por ejemplo un for)

:D saludos y suerte
  #4 (permalink)  
Antiguo 03/11/2010, 16:29
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: buscar en array

ok entiendo lo que me dicen, entonces planteo mi dilema a ver si a alguien se le ocurre algo xq ya a mi me tiene loco y todavia no lo resuelvo aunque paresca lo mas sencillo del mundo tengo estos dos arreglos
Código PHP:
Ver original
  1. $array1=array(0=>array('dato1'=>'a','dato2'=>'b'),1=>array('dato1'=>'v','dato2'=>'c'));
  2. $array2=array(0=>array('dato1'=>'a','dato2'=>'d'),1=>array('dato1'=>'q','dato2'=>'n'));
deseo que si un dato del primero esta en el segundo lo pinte de rojo sino lo pinte de azul eso lo hago yo al momento de imprimirlo con html y css el problema que tengo cuando lo recorro es que la primera me pinta los otros codigos, la segunda me pinta el que ya me pinto de azul y asi sucesivamente estoy que me rindo gracias por la ayuda que me uedan brindar
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: Ninguno
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 05:06.