Respuesta

8

Sí.

Creo que el escenario de uso más común para esto es cuando se utiliza MySQL. Por ejemplo:

$result = mysql_query("SELECT username FROM user"); 
while ($user = mysql_fetch_assoc($result)) { 
    echo $user['username'] . "\n"; 
} 

Esto funciona porque $user es el resultado de la asignación. Es decir, lo que sea que esté almacenado en su tarea, se usa como condicional. En otras palabras,

var_dump($i = 5); 

// is equivalent to 

$i = 5; 
var_dump($i); 

Ambos imprimir int(5), obviamente.

6

Sí.

Honestamente, ¿por qué no lo pruebas? Los lenguajes en los que no se permite hacer este tipo de cosas suelen generar errores de compilador/analizador.

PHP toma la mayoría de sus elementos sintácticos básicos de C, lo que incluye que cada asignación devuelve un valor. Por lo tanto, esto es válido.

+3

+1 para "probarlo" - seguramente habría sido mucho más rápido – Rob

2

Yah, puedes hacer eso.

Si está preguntando porque lo intentó y obtuvo un error grave, trate de hacer siteName_err un nombre de variable válido al poner un signo de dólar $ antes.

0

Sí, seguro y usted puede hacer lo mismo para construcciones while

Cuestiones relacionadas