Acabo de notar que PHP tiene un tipo de conversión a (unset)
, y me pregunto para qué podría usarse. Ni siquiera realmente desarma la variable, simplemente la envía a NULL, lo que significa que (unset)$anything
debe ser exactamente lo mismo que simplemente escribir NULL
.¿Alguien alguna vez usó el molde de PHP (unset)?
# Really unsetting the variable results in a notice when accessing it
[email protected]:~$ php -r '$foo = 123; unset($foo); echo $foo;'
PHP Notice: Undefined variable: foo in Command line code on line 1
PHP Stack trace:
PHP 1. {main}() Command line code:0
# (unset) just set it to NULL, and it doesn't result in a notice
[email protected]:~$ php -r '$foo = 123; $foo=(unset)$foo; echo $foo;'
¿Alguien alguna vez lo usó para algo? No puedo pensar en cualquier uso posible para que ...
Agregado:
La idea principal de la pregunta es:
¿Cuál es la razón para usar (unset)$smth
en lugar de sólo NULL
?
Bueno encontrar esa generación de aviso. Para esa perspectiva, en realidad podría ser bastante útil en algunos lugares. – Smar
Estoy bastante sorprendido de ver una característica completamente inútil en PHP ... Me pregunto qué estaban pensando cuando lo agregaron. Pensé que me podría estar perdiendo algo ...pero creo que es completamente inútil después de todo – shesek
El comportamiento de aviso abre la puerta a, por ejemplo, el registro de que una variable no estaba definida a pesar de que no le importa su valor. Sin embargo, por la parte superior de mi cabeza, no puedo pensar en un caso de uso para esa habilidad. La única otra cosa en la que puedo pensar es que podría usarse como una especie de edición de "taquigrafía" para reemplazar un valor por nulo, pero que todavía tenga alguna noción en el código de cuál era el valor en ese lugar. –