Ähnlichkeiten und Unterschiede zwischen den Funktionen isset() und !empty() in PHP

autoload
Freigeben: 2023-04-09 20:34:02
Original
2788 Leute haben es durchsucht

 isset() und ! Die Funktion empty() ist ähnlich und beide geben das gleiche Ergebnis zurück. Aber der einzige Unterschied ist! Die Funktion empty() generiert keine Warnungen oder elektronischen Benachrichtigungen, wenn die Variable nicht vorhanden ist. Es reicht aus, eine der beiden Funktionen zu verwenden. Durch die Zusammenführung zweier Funktionen in einem Programm kommt es zu Zeitverzögerungen und unnötiger Speichernutzung. isset()!empty()函数类似,两者都将返回相同的结果。但唯一的区别是!当变量不存在时,empty()函数不会生成任何警告或电子通知。它足以使用任何一个功能。通过将两个功能合并到程序中会导致时间流逝和不必要的内存使用。

1.isset()

isset ( mixed $var , mixed $... = ? ) : bool
Nach dem Login kopieren
  • var:要检查的变量。

  • 返回值:如果 var 存在并且值不是 null 则返回 true,否则返回 false。

PS:如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 null 的变量,将返回 false。同时要注意的是 null 字符("")并不等同于 PHP 的 null 常量。如果一次传入多个参数,那么 isset() 只有在全部参数都以被设置时返回 true 计算过程从左至右,中途遇到没有设置的变量时就会立即停止。

<?php 
  
  $num = &#39;0&#39;; 
  if( isset( $num ) ) 
  { 
      print_r(" $num is set with isset  ");
   } 
   echo "<br>";
// 声明一个空数组 $array = array(); 
  echo isset($array[&#39;geeks&#39;]) ? &#39;array is set.&#39; : &#39;array is not set.&#39;; 
?>
Nach dem Login kopieren

输出:

0 is set with isset functionarray is not set.
array is not set.
Nach dem Login kopieren


2.empty()

empty ( mixed $var ) : bool
Nach dem Login kopieren
  • var:待检查的变量

  • 返回值:当var存在,并且是一个非空非零的值时返回 false 否则返回 true.

<?php 
  
  
$temp = 0; 
  if (empty($temp)) { 
  echo $temp . &#39; is considered empty&#39;; 
  } 
  echo "\n"; 
  $new = 1; 
  if (!empty($new)) { 
  echo $new . &#39; is considered set&#39;;
   } 
  ?>
Nach dem Login kopieren

输出

0 is considered empty
1 is considered set
Nach dem Login kopieren

以下内容会被判定为空:

  • "" (空字符串)

  • 0 (作为整数的0)

  • 0.0 (作为浮点数的0)

  • "0" (作为字符串的0)

  • null

  • fals

  • earray() (一个空数组)

  • $var; (一个声明了,但是没有值的变量)

3.二者异同

isset()和!empty()函数类似,两者都将返回相同的结果。但唯一的区别是!当变量不存在时,empty()

1.isset()

<?php 
 
$num = &#39;0&#39;; 
  if( isset ( $num ) ) { 
  print_r( $num . " is set with isset function"); 
  } 
  echo "\n"; 
  $num = 1; 
  if( !empty ( $num ) ) { 
  print_r($num . " is set with !empty function");
   }
 ?>
Nach dem Login kopieren
PS: span>Wenn eine Variable mit unset() freigegeben wurde, ist sie nicht mehr isset(). Wenn Sie isset() verwenden, um eine Variable zu testen, die auf Null gesetzt ist, wird „false“ zurückgegeben. Beachten Sie außerdem, dass das Zeichen null ("

Das obige ist der detaillierte Inhalt vonÄhnlichkeiten und Unterschiede zwischen den Funktionen isset() und !empty() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!