⑴ php中判斷變數為空的幾種方法
if (isset($obj)) {
echo "This var is set set so I will print.";
}
isset函數是檢測變數是否設置。
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若變數不存在則返回 FALSE
若變數存在且其值為NULL,也返回 FALSE
若變數存在且值不為NULL,則返回 TURE
同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE
如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設置成 NULL 的變數,將返回 FALSE。同時要注意的是一個 NULL 位元組(」\0″)並不等同於 PHP 的 NULL 常數。
警告: isset() 只能用於變數,因為傳遞任何其它參數都將造成解析錯誤。若想檢測常量是否已設置,可使用 defined() 函數。
⑵ php語言判斷零和空怎麼判斷啊
empty絕對可以,是你用錯了吧,php5.5之前參數必須是變數參數,可以判斷以下為空的情況:
當var存在,並且是一個非空非零的值時返回 FALSE 否則返回 TRUE.
以下的東西被認為是空的:
"" (空字元串)
0 (作為整數的0)
0.0 (作為浮點數的0)
"0" (作為字元串的0)
NULL
FALSE
array() (一個空數組)
$var; (一個聲明了,但是沒有值的變數)
你要判斷的是什麼類型變數,寫詳細一點!
⑶ 請問路由器的NULL0介面是用來做什麼的
NULL0是屬於路由器的邏輯介面,NULL0介面總是處於Up狀態,但不轉發任何報文。當NULL0介面接收到報文後,會把報文丟棄。不能在NULL0介面上配置IP地址,也不能在NULL0介面上封裝任何鏈路層協議。NULL0主要用於防止路由環路或用於過濾數據包。
⑷ php null和null一樣嗎
NULL和0是值相等而類型不一樣! 注意: NULL是一種特殊的類型.兩種情況下為NULL1. $var = NULL;2. $var; 3.0、"0"、NULL以及沒有任何屬性的對象都將被認為是空的。
⑸ php中 "" 0 empty null的區別是什麼呢
"" 雙引號,表示一個空的字元串,它的數據類型為字元串類型。
0 零,表示數字0,它的數據類型為整型
null 表示表示一個變數沒有值。一個變數為null有三種情況:
1.被賦值為 NULL 。
2. 尚未被賦值。
3. 被 unset() 。
empty 是php的一個判斷變數為空的函數,如果 變數 是非空或非零的值,則 empty() 返回 FALSE 。換句話說,""、0、"0"、 NULL 、 FALSE 、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果變數 為空,則 empty() 返回 TRUE 。
⑹ php null 占儲存空間么
特殊的 NULL 值表示一個變數沒有值。NULL 類型唯一可能的值就是 NULL。
在下列情況下一個變數被認為是 NULL:
被賦值為 NULL。
尚未被賦值。
被 unset()
從上面來看,這個變數還是存在的,只是值為NULL,只要變數存在,那麼就佔用存儲空間的
而且
官方PHP是用C實現的變數的值存儲到以下所示zval結構體中。 zval結構體定義在Zend/zend.h文件,其結構如下:
1 typedef struct _zval_struct zval;
2 ...
3 struct _zval_struct {
4 /* Variable information */
5 zvalue_value value; /* value */
6 zend_uint refcount__gc;
7 zend_uchar type; /* active type */
8 zend_uchar is_ref__gc;
9 };
如果一個php變數的值為null,那麼只需要將type 設置為 IS_NULL,即可,value不用設置
如果 refcount__gc 的值為0,那麼這個變數就會被會垃圾回收,也就是很快就會不存在,否則就會一直存在,佔用著自己的存儲空間
因此只要變數存在(即還未被垃圾回收機制回收),就會一直佔用著存儲空間,只是他的值為NULL
⑺ php中0,空,null和false的區別
0 ,在所有計算機語言中,基本非0為真,0為假。0 == false null 是空 這個很有意思。因為我也不知它是什麼類型的,但 null ==false是必然的。在if判斷是邏輯就是這樣 empty 這個也是很有意思是,因為這會出現很多陷阱。首先,empty對於一切未聲明定義的變數,直接返回true,對於已聲明的變數,如果是非空字元串 或 非0 返回false; 但是0的時候,它卻是返回真的。這個是出於什麼考慮我也不清楚。但它一直出乎我的邏輯。 總得關系就是 0==false ==null (empty是一個方法 ,所以不能跟變數作比較的。)
⑻ php 判斷不能為空,0是屬於空嗎
"" 雙引號,表示一個空的字元串,它的數據類型為字元串類型。
0 零,表示數字0,它的數據類型為整型
null 表示表示一個變數沒有值。一個變數為null有三種情況:
1.被賦值為 NULL 。
2. 尚未被賦值。
3. 被 unset() 。
empty 是php的一個判斷變數為空的函數,如果 變數 是非空或非零的值,則 empty() 返回 FALSE 。換句話說,""、0、"0"、 NULL 、 FALSE 、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果變數 為空,則 empty() 返回 TRUE 。
⑼ PHP 0 和null的區別
NULL和0是值相等而類型不一樣!
注意:
NULL是一種特殊的類型.
兩種情況下為NULL
1. $var = NULL;
2. $var;
3.0、"0"、NULL以及沒有任何屬性的對象都將被認為是空的。
舉例如下:
<?php
$test=0;
if($test==''){
echo'<br/>在php中,0即為空';//被輸出
}
if($test===''){
echo'<br/>在php中,0即為空';//不被輸出
}
if($test==NULL){
echo'<br/>在php中,0即為空';//被輸出
}
if($test===NULL){
echo'<br/>在php中,0即為空';//不被輸出
}
if($test==false){
echo'<br/>在php中,0即為空';//被輸出
}
if($test===false){
echo'<br/>在php中,0即為空';//不被輸出
}
?>