¿Qué cambia la condición en bucle: while (mysql_fetch_array($var))?

Soy un programador C principiante. Recientemente comencé a aprender PHP y MySQL y encontré este comportamiento interesante con el bucle while:

while ($pages = mysql_fetch_array($pages_set))
    {statement}

Anteriormente aprendí que la condición debe cambiarse en algún lugar del ciclo (o en la expresión misma) para que el ciclo sea finito, pero en este caso simplemente no puedo verlo.

Investigué un poco sobre la función mysql_fetch_array() y encontré este:

Devuelve una matriz que corresponde a la fila recuperada y mueve el puntero de datos interno hacia adelante.

¿Es cierto que el puntero se mueve por la fila y cuando llega al final devolverá 0 o NULL?

preguntado el 31 de julio de 12 a las 12:07

dado que recién está aprendiendo PHP, vale la pena señalar que el mysql_xxx() Las funciones están en desuso. Debe usar el mysqli_xxx() alternativas o la biblioteca PDO en su lugar. Consulte el manual de PHP para obtener más información. Sin embargo, con cualquiera de estas bibliotecas, son posibles construcciones similares, por lo que su pregunta sigue siendo relevante. -

1 Respuestas

El puntero se mueve a la siguiente fila en el conjunto de registros con cada iteración, de modo que cuando no queden datos, $pages será NULL y el ciclo finalizará.

Respondido 31 Jul 12, 12:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.