Ho appena notato che PHP ha un casting di tipo su (unset)
e mi chiedo a cosa potrebbe essere usato. Non disattiva nemmeno realmente la variabile, la lancia su NULL, il che significa che (unset)$anything
dovrebbe essere esattamente la stessa cosa che scrivere semplicemente NULL
.Chiunque ha mai usato il casting di PHP (non impostato)?
# 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;'
Qualcuno l'ha mai usato per qualcosa? Non riesco a pensare di qualsiasi uso possibile per esso ...
Aggiunto:
idea principale di domanda è:
Qual è ragione per usare (unset)$smth
invece di NULL
?
È una buona scoperta quella generazione di avvisi. Per quella prospettiva, potrebbe effettivamente essere abbastanza utile in alcuni posti. – Smar
Sono abbastanza sorpreso di vedere una funzionalità completamente inutile in PHP ... Mi chiedo cosa stavano pensando quando l'hanno aggiunto. Pensavo che mi sarebbe sfuggito qualcosa ...ma immagino che sia completamente inutile dopo tutto – shesek
Il comportamento dell'avviso apre la porta, diciamo, alla registrazione che una variabile non è stata definita anche se non ti interessa il suo valore. In cima alla mia testa, però, non riesco davvero a trovare un caso d'uso per quell'abilità. L'unica altra cosa che posso pensare è che potrebbe essere usato come una sorta di modifica "abbreviata" per sostituire un valore con null, ma hanno ancora qualche nozione nel codice di ciò che il valore in quel luogo era un tempo. –