Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Duda con arrays para saber si un dato lo contienen

Estas en el tema de Duda con arrays para saber si un dato lo contienen en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, Tengo el siguiente problema, tengo una clase Amigo que tiene de atributos id, username, etc., igual es una pregunta tonta, pero es que no ...
  #1 (permalink)  
Antiguo 29/07/2009, 01:14
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Duda con arrays para saber si un dato lo contienen

Buenas,

Tengo el siguiente problema, tengo una clase Amigo que tiene de atributos id, username, etc., igual es una pregunta tonta, pero es que no llevo mucho tiempo en php, el tema está en que tengo un array de amigos y un valor de id y quiero saber si ese id está en alguno de los amigos del array.

Sería una método que dado un id me diga si es amigo y no se si hay algún método específico en php de arrays que resuelva esto más eficiente de como lo he implementado, que esto es con un foreach que recorro los amigos y compruebo el id que me pasan con el del amigo, algo así (perdón pero no tengo el código delante)

public function hasInFriends($id)
{
foreach($this->getFriends() as $friend)
{
if($friend->getId()==$id)return true;
}
return false;
}

Bueno espero que se entienda, muchas gracias
  #2 (permalink)  
Antiguo 29/07/2009, 08:49
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Duda con arrays para saber si un dato lo contienen

en la documentacion de php esta una función que se llama in_array
__________________
I see dead pixels
  #3 (permalink)  
Antiguo 30/07/2009, 16:33
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Duda con arrays para saber si un dato lo contienen

Gracias, ya había visto la función, pero no se muy bien como aplicarla.

Me he dado cuenta que puedo obtener la instancia de amigo y estoy buscando a ver si se puede usar el array_in con objetos.
  #4 (permalink)  
Antiguo 30/07/2009, 21:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: Duda con arrays para saber si un dato lo contienen

Como estas usando un array de objetos no puedes aplicar in_array, por lo que la forma que lo haces es lo correcto, ciclando con un foreach.

Saludos.
  #5 (permalink)  
Antiguo 31/07/2009, 00:30
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Duda con arrays para saber si un dato lo contienen

Ahm, vale gracias, pensaba que igual con in_array($friend, $this->getFriends()) funcionaría, pero lo dejaré así.

Saludos
  #6 (permalink)  
Antiguo 31/07/2009, 01:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Duda con arrays para saber si un dato lo contienen

No se si es exactamente lo que quieres pero si es así espero que te sirva de ayuda. Esto te muestra el contenido entero del vector y en una sola línea:

print '<pre>';print_r($friend);print '</pre>';
  #7 (permalink)  
Antiguo 31/07/2009, 16:20
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Duda con arrays para saber si un dato lo contienen

Gracias, pero lo que quería era una función que me comprobara los datos, ya lo dejo como lo tenía.
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 02:57.