La pratica dell'uso della funzione PHP empty ()

10/05/2019

La programmazione moderna ha manipolato a lungo e con successo variabili non tipizzate. Il tipo di variabile non può essere specificato in anticipo e modificato durante l'esecuzione del programma.

Questo concetto è diventato centrale nel paradigma di programmazione generale. All'inizio dell'era della programmazione, le lingue con la stessa solida fiducia esigevano dal programmatore una descrizione preliminare delle variabili e assicuravano rigorosamente che non ricevessero nulla di illegale. Il fatto che una variabile cambi il suo tipo, né i programmi né i linguaggi di programmazione avevano un indizio.

A proposito di vuoto e non esistente

La funzione PHP empty () è l'inverso della funzione isset () e ha alcune peculiarità di utilizzo. Se non ci sono variabili, allora la prima funzione risponde positivamente a questo e il suo risultato è vero, e il secondo è negativo, cioè il suo valore è falso.

PHP vuoto

Per definizione, isset () è progettato per verificare l'esistenza di una variabile. Non importa cosa e come è stato assegnato alla variabile, la cosa principale è che è e non viene distrutto dalla funzione unset (). Il risultato della funzione isset () sarà positivo - true. È importante ricordare che se $ iVar = 0; allora isset ($ iVar) sarà vero, ma anche empty ($ iVar) sarà vero.

Nel primo caso, il risultato significa che la variabile esiste, nel secondo caso, la variabile è vuota, cioè il valore "0" in qualsiasi forma, se si tratta di una stringa ("0") o un numero (frazionario - 0.0 o intero - 0) è lo stesso: vuoto ($ iVar) sarà vero.

A proposito di sicurezza e controllo

La pratica mostra che i linguaggi non tipizzati danno molta più libertà al programmatore, ma assumono che il suo atteggiamento nei confronti dell'algoritmo sia più responsabile.

PHP oggetto vuoto

PHP offre una sintassi moderna che mantiene una semantica consolidata, ha pochi errori, ma richiede un'attenzione particolare a se stessa. Ad esempio, una chiamata a qualsiasi funzione coinvolge un certo numero di parametri.

Chiamando una funzione, non è affatto necessario passare tutti i parametri, è possibile solo trasferirne una parte sostanziale. La funzione "deve" controllare l'esistenza e l'esistenza di tutti i parametri. Quelli di loro che mancano o hanno i valori sbagliati, è necessario portare all'aspetto normale, assegnare loro i valori desiderati.

In questo contesto, la funzione PHP empty () è essenziale. espressione:

= "1;2" + 20 $ a = "1; 2" + 20

assegna il valore $ 21 alla variabile $ a, poiché la prima parte dell'espressione sarà rappresentata come 1 e la seconda sarà 20.

Il risultato sarà del tipo numero e la funzione PHP vuota ($ a) avrà il risultato - falso, cioè la variabile $ a non è vuota.

In questo contesto, avendo la funzione:

funcTest ($ a = 0, $ b = 20)

quando si chiama:

$ res = funcTest ($ aVal, $ bVal)

avrà il desiderato, cioè il risultato della funzione. E quando chiami:

  • $ res = funcTest ($ aVal. $ bVal)

solo un parametro con il valore '$ aVal' cade nel corpo della funzione. $ bVal 'e molto probabilmente questo parametro sarà interpretato come una stringa di caratteri.

PHP empty () per oggetti e matrici

La sintassi del linguaggio ha un numero sufficiente di costruzioni e funzioni per lavorare con oggetti e matrici, ma dal punto di vista del controllo dell'esistenza e della presenza di significato, non ci sono particolari differenze rispetto alle variabili.

Array vuoto PHP

PHP empty (array) equivale a chiamare vuoto (variabile semplice). Tuttavia, per quanto riguarda gli oggetti ci sono considerazioni molto significative. Per quanto riguarda la verifica di un oggetto per esistenza (isset), la domanda non ha senso. Per quanto riguarda la funzione PHP empty (), la convenienza del suo utilizzo è discutibile.

Secondo la logica della programmazione orientata agli oggetti, l'oggetto ha il proprio contenuto e il proprio insieme di metodi. Solo l'oggetto stesso può dire vuoto o no, ma non una funzione di terze parti, anche se è inclusa nella sintassi della lingua.

Oggetto e sua funzione empty ()

Su questa base semplice ma legale, ogni oggetto dovrebbe essere considerato nel contesto della sua comprensione del "vuoto". Ad esempio, l'implementazione dell'oggetto "Elenco personale" comprende i record "Dipendente". Ma se non c'è un singolo dipendente, nella "Lista del personale" ci sono sempre opzioni per le posizioni di probabili impiegati.

A che livello usi qui la funzione di oggetto vuoto PHP? A livello di personale, tutto esiste, anche se non c'è un singolo dipendente. A livello "Dipendente", l'oggetto è già lì, anche se non è completamente riempito. Un oggetto non completamente riempito può essere attribuito a un oggetto vuoto. Non c'è alcun beneficio per lui dalla lista del personale.

A seconda dello stile di programmazione scelto, le funzioni PHP empty () ed isset () sono molto importanti per costruire un algoritmo sicuro e affidabile, ma per gli oggetti è ancora meglio avere la propria versione empty (), determinata dal suo contenuto.