Foros del Web » Programando para Internet » PHP »

Recorrer Array con Foreach

Estas en el tema de Recorrer Array con Foreach en el foro de PHP en Foros del Web. Buenas Tardes, haber si me ayudan, lo que queria hacer, es buscar en una cadena de texto, si alguna palabras de esa cadena coincide con ...
  #1 (permalink)  
Antiguo 03/04/2008, 16:06
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Exclamación Recorrer Array con Foreach

Buenas Tardes,
haber si me ayudan,

lo que queria hacer, es buscar en una cadena de texto, si alguna palabras de esa cadena coincide con alguna del array,
simplemente como "sensura"


Código PHP:
$palabras = array('perra','gata');
    
$cadena 'la perra corre a una gata';
    foreach( 
$palabras as $cadena)
    echo 
$palabras[0]; 
Algo asi habia pensado, pero como nunca use este bucle, no se como hacerlo

Muchas Gracias!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #2 (permalink)  
Antiguo 03/04/2008, 16:22
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Recorrer Array con Foreach

Se me ocurre algo así:

Código PHP:
$palabrasArray = array('perra','gata');
$cadena 'la perra corre a una gata';
$palabrasCadena explode(" ",$cadena); // Separamos la cadena por los espacios
 
foreach($palabrasCadena as $valor)
{
 
// Verificamos si esta palabra de la cadena existe en el $palabrasArray
// (quitamos espacios atras y adelante de la palabra con la función trim)
if (in_array(trim($valor),$palabrasArray))
$coincidencias[] = $valor// Si coincide guardamos la palabra en coincidencias
 

Te quedaron todas las coincidencias en el array "coincidencias".
Saludos
  #3 (permalink)  
Antiguo 03/04/2008, 18:36
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Recorrer Array con Foreach

No es necesario crear un bucle para verificar la cadena y regresar las coincidencias. Basta con explotar la cadena en palabras usando el explode() y usar la función array_intersect() para extraer las palabras de la cadena que coincidan con las que hay en el array:

Código PHP:
$palabras = array('perra','gata'); 
$cadena 'la perra corre a una gata';
 
$cadena_palabras array_map("trim"explode(" "$cadena));
 
if(
$coincidencias array_intersect($palabras$cadena_palabras)) {
    echo 
"Usó algunas palabras inapropiadas";

Las coincidencias se almacenan en $coincidencias, y puedes usar la estructura foreach para recorrerlo e imprimir sus valores. Para usar esta estructura te recomiendo leas el manual de PHP para la estructura foreach.

Un saludo,
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 04:35.