Foros del Web » Programando para Internet » PHP »

Obtener una variable foreach

Estas en el tema de Obtener una variable foreach en el foro de PHP en Foros del Web. Hola quiero saber como puedo obtener o determinar que dentro de una variable hay cierto texto o dato que necesito ejemplo: $acceso = array ("dinero", ...
  #1 (permalink)  
Antiguo 25/05/2011, 18:23
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 16 años, 9 meses
Puntos: 0
Obtener una variable foreach

Hola quiero saber como puedo obtener o determinar que dentro de una variable hay cierto texto o dato que necesito ejemplo:

$acceso = array ("dinero", "cotizacion", "plata")
foreach ($acceso as $permiso => $valor){

if ($permiso=="cotizacion")break;{
echo $valor;
}
};


necesito determinar que en el array de $acceso existe la palabra cotizacion
  #2 (permalink)  
Antiguo 25/05/2011, 19:16
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, 11 meses
Puntos: 1517
Respuesta: Obtener una variable foreach

Trata con in_array.
__________________
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 25/05/2011, 19:20
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Obtener una variable foreach

Primero que nada estas preguntando por la clave y no por el valor que tiene el array..la variable $permiso va tomando (en tu ejemplo) los valores 0, 1 y 2 que son los indices del array y la variable $valor toma las strings "dinero", "cotizacion" y "plata".

Asi que tu codigo deberia ser:

Código:
$acceso = array ("dinero", "cotizacion", "plata")
foreach ($acceso as $permiso => $valor){
if ($valor=="cotizacion")break;{
echo $valor;
}
};
Ahora hay una funcion en php que te busca ya en un array un valor y te devuleve el indice en el array (http://php.net/manual/ro/function.array-search.php).

Si solo quieres determinar si existe yo haria:


Código:
$key = array_search('cotizacion', $acceso); 
if ($key === false)
    echo "No existe";
else 
    echo "Existe";
Saludos.
__________________
Lo maravilloso de aprender algo es que nadie puede arrebatárnoslo.
  #4 (permalink)  
Antiguo 26/05/2011, 09:00
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Obtener una variable foreach

Gracias por la respuesta las dos me sirven pero ahora no entiendo porque si incluyo la funcion explode no reconoce los datos, hasta donde tengo entendido una vez se ejecute el explode automaticamente me crea un array dado que me queda una array utilizo el siguiente código:

$acceso = explode(",","".$acceso."");

//$acceso=array("cotizacion","factura");

if (in_array("cotizacion", $acceso)) {

}
else{
error_acceso();
exit;
}

pero no lo reconoce en cambio si utilizo la variable acceso de esta forma: $acceso=array("cotizacion","factura"); si me lo reconoce, me pueden ayudar con esto por favor

Etiquetas: foreach, variables
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 00:09.