Tabelle di confronto dei tipi PHP Le seguenti tabelle dimostrano i comportamenti dei tipi PHP e degli operatori di confronto, sia per confronti deboli che stretti. Questo supplemento è anche correlato alla sezione del manuale su type juggling. L'ispirazione è stata fornita da vari commenti degli utenti e dal lavoro su BlueShoes. Prima di utilizzare queste tabelle, è importante comprendere i tipi e i loro significati. Per esempio, "42" è una string mentre 42 è un int. &false; è un bool mentre "false" è una string. I Form HTML non passano interi, float o booleani; passano stringhe. Per scoprire se una stringa è numerica, puoi usare is_numeric. Fare semplicemente if ($x) mentre $x è non definito genererà un errore di livello E_NOTICE. Invece, considera l'uso di empty o isset e/o inizializza le tue variabili. Alcune operazioni numeriche possono risultare in un valore rappresentato dalla costante NAN. Qualsiasi confronto debole o stretto di questo valore contro qualsiasi altro valore, incluso se stesso, ma eccetto &true;, avrà come risultato &false;. (cioè NAN != NAN e NAN !== NAN) Esempi di operazioni che producono NAN includono sqrt(-1), asin(2) e acosh(0). Confronti di <varname>$x</varname> con funzioni PHP Espressione gettype empty is_null isset bool : if($x) $x = ""; string &true; &false; &true; &false; $x = null; NULL &true; &true; &false; &false; var $x; NULL &true; &true; &false; &false; $x non è definita NULL &true; &true; &false; &false; $x = []; array &true; &false; &true; &false; $x = ['a', 'b']; array &false; &false; &true; &true; $x = false; bool &true; &false; &true; &false; $x = true; bool &false; &false; &true; &true; $x = 1; int &false; &false; &true; &true; $x = 42; int &false; &false; &true; &true; $x = 0; int &true; &false; &true; &false; $x = -1; int &false; &false; &true; &true; $x = "1"; string &false; &false; &true; &true; $x = "0"; string &true; &false; &true; &false; $x = "-1"; string &false; &false; &true; &true; $x = "php"; string &false; &false; &true; &true; $x = "true"; string &false; &false; &true; &true; $x = "false"; string &false; &false; &true; &true;
Confronti deboli con <literal>==</literal> &true; &false; 1 0 -1 "1" "0" "-1" &null; [] "php" "" &true; &true; &false; &true; &false; &true; &true; &false; &true; &false; &false; &true; &false; &false; &false; &true; &false; &true; &false; &false; &true; &false; &true; &true; &false; &true; 1 &true; &false; &true; &false; &false; &true; &false; &false; &false; &false; &false; &false; 0 &false; &true; &false; &true; &false; &false; &true; &false; &true; &false; &false;* &false;* -1 &true; &false; &false; &false; &true; &false; &false; &true; &false; &false; &false; &false; "1" &true; &false; &true; &false; &false; &true; &false; &false; &false; &false; &false; &false; "0" &false; &true; &false; &true; &false; &false; &true; &false; &false; &false; &false; &false; "-1" &true; &false; &false; &false; &true; &false; &false; &true; &false; &false; &false; &false; &null; &false; &true; &false; &true; &false; &false; &false; &false; &true; &true; &false; &true; [] &false; &true; &false; &false; &false; &false; &false; &false; &true; &true; &false; &false; "php" &true; &false; &false; &false;* &false; &false; &false; &false; &false; &false; &true; &false; "" &false; &true; &false; &false;* &false; &false; &false; &false; &true; &false; &false; &true;
* &true; prima di PHP 8.0.0.
Confronti stretti con <literal>===</literal> &true; &false; 1 0 -1 "1" "0" "-1" &null; [] "php" "" &true; &true; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; 1 &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; &false; &false; 0 &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; &false; -1 &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; &false; "1" &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; &false; "0" &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &false; "-1" &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; &false; &null; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; &false; [] &false; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; &false; "php" &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &true; &false; "" &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &false; &true;