Ir al contenido


Foto

Problema para entender el foreach


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 jonbra

jonbra

    Advanced Member

  • Miembros
  • PipPipPip
  • 57 mensajes

Escrito 29 mayo 2013 - 11:17

tengo un problema conceptual con foreach, relacionado con otro post que subí ayer sobre un validador, este es en enlace al post en cuestión http://www.delphiacc...io-de-registro/

en él se puede ver un código que he creado yo mismo. el problema con el código era que existiera el usuario o el correo electrónico en la base de datos siempre me daba como válidos los dos campos. entonces hoy probando y volviendo a probar, me dió por quitar los dos foreach pensando que podría haber un error de sobreescritura de las propiedades $this->salida al recorrer la propiedad creada $this->arr.

entonces los dos if que hay dentro de los foreach quedaron así


if($usuarioc == $this->arr['usuario'])
{
$this->salida['usuario'] = "El usuario ya existe <br>";
}
else
{
$this->salida['usuario'] = "Usuario correcto <br>";
}

if($emailc == $this->arr['email'])
{
$this->salida['email'] = "El E-mail ya existe <br>";
}
else
{
$this->salida['email'] = "E-mail es correcto <br>";
}


y el caso es que sí me sirve el código sin los foreach y sin la sugerencia sql de poliburro.

no entiendo el foreach entonces, porque si antes no funcionaba y ahora sí sólo se me ocurre que es un problema de sobreescritura, pero ¿cómo puede sobreescribir si los campos que tiene que recorrer están especificados y al seleccionar los datos de un solo usuario significa que es un array con varios identificadores pero cada identificador solo guarda un dato y no es bidimensional? ¿por qué pasa eso con el foreach? es decir

¿por qué recorre más de lo indicado la propiedad array $this->arr?

¿si no es problema de sobreescritura entonces de qué es?

gracias, muchas gracias por su tiempo
  • 0




IP.Board spam blocked by CleanTalk.