PHP isset() empty() is_null() 的區別

它們的區別   出處

三個方法都是來判斷是否是空值或有沒有宣告變數的方法,比較容易混淆的是isset(),empty()。

  • isset()檢查變數是否存在
  • empty()檢查變數的值是否為空
  • is_null()檢查變數是否為null
gettype()isset()empty()is_null()
$x is undefinedNULLFALSETRUETRUE
$x = null;NULLFALSETRUETRUE
$x = 0;integerTRUETRUEFALSE
$x = “0”;stringTRUETRUEFALSE
$x = 1;intergerTRUEFALSEFALSE
$x = “”;stringTRUETRUEFALSE
$x = “PHP”;stringTRUEFALSEFALSE

intval

intval  函數

(PHP 4, PHP 5, PHP 7, PHP 8)

intval — 獲取變數的整数值

說明

intval(mixed $value, int $base = 10): int

通过使用指定的进制 base 转换(默认是十进制),返回变量 value 的 int 数值。 intval() 不能用于 object,否则会产生 E_WARNING 錯誤並返回 1。

範例

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 10000000000
echo intval('1e10');                  // 10000000000
echo intval(0x1A);                    // 26
echo intval('0x1A');                  // 0
echo intval('0x1A', 0);               // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
echo intval(false);                   // 0
echo intval(true);                    // 1
?>