Heim Backend-Entwicklung PHP-Tutorial php 相等性比较 以及 empty,isset, isnull

php 相等性比较 以及 empty,isset, isnull

Jul 29, 2016 am 08:59 AM
dump false null true var

变量为空

以下的东西被认为是空的:

  • “” (空字符串)
  • 0 (作为整数的0)
  • 0.0 (作为浮点数的0)
  • “0” (作为字符串的0)
  • NULL
  • FALSE
  • array() (一个空数组)
  • $var; (一个声明了,但是没有值的变量)

判断语句中空值返回false,以下代码不会产生任何输出,因为if 语句中的判断都为false:

<code><span>$emptyList</span> = [<span>""</span>,  <span>0</span>, <span>0.0</span>, <span>"0"</span>, <span>NULL</span>, <span>FALSE</span>, <span>array</span>(), <span>$var</span>, ];
<span>foreach</span>(<span>$emptyList</span><span>as</span><span>$val</span>) {
    <span>if</span> (<span>$val</span>) {
        var_dump(<span>$val</span>);
    }
}</code>
Nach dem Login kopieren

比较运算符: =====

  • ==只涉及到值的比较
<code>var_dump(<span>0</span> == <span>'0.0'</span>); <span>//</span><span>true</span>
var_dump(<span>0</span> == <span>''</span>); <span>//</span><span>true</span>
var_dump(<span>0</span> == <span>false</span>); <span>//</span><span>true</span></code>
Nach dem Login kopieren
  • === 同时涉及 值 与类型的比较, 更为严格
<code>var_dump(<span>0</span> === <span>'0.0'</span>); <span>//</span><span>false</span>
var_dump(<span>0</span> === <span>''</span>); <span>//</span><span>false</span>
var_dump(<span>0</span> === <span>false</span>); <span>//</span><span>false</span></code>
Nach dem Login kopieren
  • null 与 空值 通过== 比较, 除了 “0” ,都返回true:
<code><span><span><?php </span><span>$emptyList</span> = [<span>""</span>,  <span>0</span>, <span>0.0</span>, <span>"0"</span>, <span>NULL</span>, <span>FALSE</span>, <span>array</span>(), <span>$var</span>, ];
<span>foreach</span>(<span>$emptyList</span><span>as</span><span>$val</span>) {
    var_dump(<span>$val</span> == <span>null</span>);
}</span></span></code>
Nach dem Login kopieren

empty, isset, isnull

  • empty:检查一个变量是否为空
<code><?php <span>$emptyList = [<span>""</span>,  <span>0</span>, <span>0.0</span>, <span>"0"</span>, NULL, FALSE, array(), <span>$var</span>, ];
foreach (<span>$emptyList</span> as <span>$e</span>) {
    var_dump(empty(<span>$e</span>));
}
/*
bool(<span>true</span>)
bool(<span>true</span>)
bool(<span>true</span>)
bool(<span>true</span>)
bool(<span>true</span>)
bool(<span>true</span>)
bool(<span>true</span>)
bool(<span>true</span>)
*/</code>
Nach dem Login kopieren
  • isset:判断变量var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。
<code><span>$var</span> = <span>1</span>;
var_dump(<span>isset</span>(<span>$var</span>)); <span>// true</span><span>unset</span>(<span>$var</span>);
var_dump(<span>isset</span>(<span>$var</span>)); <span>// false</span><span>$var</span> = <span>null</span>;
var_dump(<span>isset</span>(<span>$var</span>)); <span>// false</span></code>
Nach dem Login kopieren
  • isnull: 判断变量是否 为 null , 等价于 === null

注意

空值之间的==比较不一定返回 true :

<code><span>// 不具传递性</span><span>var_dump(<span>0</span> == <span>'0'</span>)</span>; <span>// true</span><span>var_dump(<span>''</span> == <span>0</span> )</span>; <span>// true</span><span>var_dump(<span>'0'</span> == <span>''</span>)</span>; <span>// false</span><span>var_dump(<span>0</span> == [])</span>; <span>// false</span></code>
Nach dem Login kopieren

最佳实践

  • 空值判断使用 empty 判断;
  • isset 无法判断存在但值为null的变量;
  • php ===== 差别在于后者同时进行类型相等判断
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了php 相等性比较 以及 empty,isset, isnull,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist eine Dump-Datei? Was ist eine Dump-Datei? Jan 12, 2024 pm 04:58 PM

Eine Dump-Datei bezieht sich normalerweise auf eine Binärdatei, die auch als Dump-Datei oder Core-Dump-Datei bezeichnet wird. Diese Art von Datei wird vom Computersystem generiert, wenn ein schwerwiegender Fehler oder eine ungewöhnliche Situation auftritt. Sie wird zum Speichern des Status, des Stapels, der Register, der Speicherbilder, der Protokolle und anderer Informationen des Systems oder der Anwendung verwendet.

Was ist der Unterschied zwischen null und NULL in der C-Sprache? Was ist der Unterschied zwischen null und NULL in der C-Sprache? Sep 22, 2023 am 11:48 AM

Der Unterschied zwischen null und NULL in der C-Sprache ist: null ist eine Makrodefinition in der C-Sprache, die normalerweise zur Darstellung eines Nullzeigers verwendet wird und zum Initialisieren von Zeigervariablen oder zum Bestimmen, ob der Zeiger in einer bedingten Anweisung null ist, verwendet werden kann. NULL ist eine Makrodefinition in der C-Sprache. Eine vordefinierte Konstante in, die normalerweise zur Darstellung eines Nullwerts verwendet wird und zur Darstellung eines Nullzeigers, eines Nullzeigerarrays oder eines Nullstrukturzeigers verwendet wird.

Was bedeuten undefiniert und null? Was bedeuten undefiniert und null? Nov 20, 2023 pm 02:39 PM

In JavaScript stellen sowohl undefiniert als auch null das Konzept von „nichts“ dar: 1. undefiniert stellt eine nicht initialisierte Variable oder eine nicht vorhandene Eigenschaft dar. Wenn eine Variable deklariert, ihr aber kein Wert zugewiesen ist, ist der Wert der Variablen undefiniert. Beim Zugriff auf Eigenschaften, die nicht im Objekt vorhanden sind, ist der zurückgegebene Wert ebenfalls undefiniert. 2. Null stellt eine leere Objektreferenz dar. In einigen Fällen kann die Objektreferenz auf Null gesetzt werden, um den von ihr belegten Speicher freizugeben.

Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel) Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel) Jan 06, 2023 pm 04:25 PM

Dieser Artikel vermittelt Ihnen relevantes Wissen über JavaScript. Er stellt Ihnen hauptsächlich die Unterschiede zwischen var, let und const sowie die Beziehung zwischen ECMAScript und JavaScript vor. Ich hoffe, es ist hilfreich für alle.

Wann sollten null und undefiniert verwendet werden? Wann sollten null und undefiniert verwendet werden? Nov 13, 2023 pm 02:11 PM

Sowohl null als auch undefiniert weisen auf einen fehlenden Wert oder einen undefinierten Zustand hin. Je nach Verwendungsszenario gibt es einige Leitprinzipien für die Verwendung von null oder undefiniert: 1. Wenn Sie klar angeben müssen, dass eine Variable leer oder ungültig ist, müssen Sie Folgendes tun: kann null verwenden; 2. Wenn eine Variable deklariert wurde, aber noch kein Wert zugewiesen wurde, wird sie standardmäßig auf undefiniert gesetzt. 3. Wenn Sie überprüfen müssen, ob eine Variable leer oder undefiniert ist, verwenden Sie den strikten Gleichheitsoperator „=“. ==" um festzustellen, ob die Variable null oder undefiniert ist. .

Was ist der Unterschied zwischen null und undefiniert? Was ist der Unterschied zwischen null und undefiniert? Nov 08, 2023 pm 04:43 PM

Der Unterschied zwischen null und undefiniert ist: 1. Semantische Bedeutung; . Leistung bei der JSON-Serialisierung; 9. Beziehung zu Typen. Detaillierte Einführung: 1. Semantische Bedeutung: Null bedeutet normalerweise, dass diese Variable keinen gültigen Objektwert hat, während undefiniert normalerweise bedeutet, dass der Variablen kein Wert zugewiesen wurde oder das Objekt dieses Attribut nicht hat. 2. Verwendungsszenarien , usw.

18 Möglichkeiten, das Problem zu beheben, dass der Audiodienst unter Windows 11 nicht reagiert 18 Möglichkeiten, das Problem zu beheben, dass der Audiodienst unter Windows 11 nicht reagiert Jun 05, 2023 pm 10:23 PM

Für die Audioausgabe und -eingabe sind bestimmte Treiber und Dienste erforderlich, damit sie unter Windows 11 wie erwartet funktionieren. Manchmal treten im Hintergrund Fehler auf, die zu Audioproblemen wie fehlender Audioausgabe, fehlenden Audiogeräten, verzerrtem Audio usw. führen. So beheben Sie, dass der Audiodienst unter Windows 11 nicht reagiert. Wir empfehlen Ihnen, mit den unten genannten Korrekturen zu beginnen und sich durch die Liste zu arbeiten, bis Sie Ihr Problem gelöst haben. Der Audiodienst reagiert unter Windows 11 aus verschiedenen Gründen möglicherweise nicht mehr. Mithilfe dieser Liste können Sie die meisten Probleme überprüfen und beheben, die verhindern, dass Audiodienste unter Windows 11 reagieren. Bitte befolgen Sie die entsprechenden Abschnitte unten, um Ihnen durch den Prozess zu helfen. Methode 1: Starten Sie den Audiodienst neu

Was sind die Verwendungszwecke von null in Java? Was sind die Verwendungszwecke von null in Java? Mar 01, 2024 am 10:10 AM

Verwendung: 1. Initialisieren Sie die Referenztypvariable auf Null, um anzuzeigen, dass die Variable derzeit auf kein Objekt zeigt. 2. Setzen Sie die Referenztypvariable auf Null, wodurch der Speicherplatz des von der Variablen referenzierten Objekts freigegeben und dies unterstützt werden kann 3. Verwenden Sie null, um zu prüfen, ob eine Referenz leer ist. Sie können das Auftreten einer NullPointerException vermeiden, indem Sie beurteilen, ob die Referenz leer ist.

See all articles