php資料變數輸出是空,PHP中判斷變數值是否為空的問題

2022-11-16 13:50:09 字數 5616 閱讀 2471

1樓:匿名使用者

1. isset

功能:判斷變數是否被初始化

說明:它並不會判斷變數是否為空,並且可以用來判斷陣列中元素是否被定義過

注意:當使用isset來判斷陣列元素是否被初始化過時,它的效率比array_key_exists高4倍左右

**如下:

$a = '';

$a['c'] = '';

if (!isset($a)) echo '$a 未被初始化' . "";

if (!isset($b)) echo '$b 未被初始化' . "";

if (isset($a['c'])) echo '$a 已經被初始化' . "";

// 顯示結果為

// $b 未被初始化

// $a 已經被初始化

2. empty

功能:檢測變數是否為「空」

說明:任何一個未初始化的變數、值為 0 或 false 或 空字串」" 或 null的變數、空陣列、沒有任何屬性的物件,都將判斷為empty==true

注意1:未初始化的變數也能被empty檢測為「空」

注意2:empty只能檢測變數,而不能檢測語句

**如下:

$a = 0;

$b = '';

$c = array();

if (empty($a)) echo '$a 為空' . "";

if (empty($b)) echo '$b 為空' . "";

if (empty($c)) echo '$c 為空' . "";

if (empty($d)) echo '$d 為空' . "";

3. var == null

功能:判斷變數是否為「空」

說明:值為 0 或 false 或 空字串」" 或 null的變數、空陣列、都將判斷為 null

注意:與empty的顯著不同就是:變數未初始化時 var == null 將會報錯。

**如下:

$a = 0;

$b = array();

if ($a == null) echo '$a 為空' . "";

if ($b == null) echo '$b 為空' . "";

if ($c == null) echo '$b 為空' . "";

// 顯示結果為

// $a 為空

// $b 為空

// undefined variable: c

4. is_null

功能:檢測變數是否為「null」

說明:當變數被賦值為「null」時,檢測結果為true

注意1:null不區分大小寫:$a = null; $a = null 沒有任何區別

注意2:僅在變數的值為「null」時,檢測結果才為true,0、空字串、false、空陣列都檢測為false

注意3:變數未初始化時,程式將會報錯

**如下:

$a = null;

$b = false;

if (is_null($a)) echo '$a 為null' . "";

if (is_null($b)) echo '$b 為null' . "";

if (is_null($c)) echo '$c 為null' . "";

// 顯示結果為

// $a 為null

// undefined variable: c

5. var === null

功能:檢測變數是否為「null」,同時變數的型別也必須是「null」

說明:當變數被賦值為「null」時,同時變數的型別也是「null」時,檢測結果為true

注意1:在判斷為「null」上,全等於和is_null的作用相同

注意2:變數未初始化時,程式將會報錯總結

php中,「null」 和 「空」 是2個概念。isset 主要用來判斷變數是否被初始化過

empty 可以將值為 「假」、「空」、「0」、「null」、「未初始化」 的變數都判斷為true

is_null 僅把值為 「null」 的變數判斷為true

var == null 把值為 「假」、「空」、「0」、「null」 的變數都判斷為true

var === null 僅把值為 「null」 的變數判斷為true所以我們在判斷一個變數是否真正為「null」時,大多使用 is_null,從而避免「false」、「0」等值的干擾。

2樓:匿名使用者

else $tmp = $row['tmp']; 這行 $rowrt

3樓:匿名使用者

你在insert之前進行的判斷是錯誤的,應該是都不為空才可以

php中判斷變數值是否為空的問題

4樓:千鋒教育

if (isset($obj))

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() 函式。

5樓:

有區別的:

if($a=='')只能判斷變數$a是否為空字串。

empty()函式可以判斷變數的值是否為空字串、數值0或者null三種情況。

php 判斷變數是否為空 empty() 函式

6樓:

如果變數是非空或非零的值,則 empty() 返回 false。換句話說,""、0、"0"、null、false、array()、var $var; 以及沒有任何屬性的物件都將被認為是空的,如果 var 為空,則返回 true。empty() 與 isset() 的一個簡單比較。

由於這是一個語言結構而非函式,因此它無法被變數函式呼叫。

7樓:it互聯天下

php empty()函式,作用:檢測變數是否申明或者設定。若變數已設定,並且變數不為空,不為零,則返回 false 值;反之返回 true值。示例:

php中,設定輸出資料的語法是什麼?忘記怎麼拼的啦(模糊記得像是dump($data),求大家幫助

8樓:

<?php

$string = '12345';

$data = array(1,2,3,4,5);

//********************==//echo '';

print_r($data);

echo '';

//********************==//var_dump($data);

//********************==//echo $string;

?>

<?php

/*** 瀏覽器友好的變數輸出

* @param mixed $var 變數* @param boolean $echo 是否輸出 預設為true 如果為false 則返回輸出字串

* @param string $label 標籤 預設為空* @param boolean $strict 是否嚴謹 預設為true

* @return void|string*/function dump($var, $echo=true, $label=null, $strict=true)  else

} else

}if ($echo) else

return $output;

}?>

dump($data);

//效果如下

array(5)

望採納 thx

9樓:未未

void var_dump ( mixed $expression [, mixed $expression [, $... ]] )

此函式顯示關於一個或多個表示式的結構資訊,包括表示式的型別與值。

10樓:抗鋤頭搞科技

echo "123" ,dump(array) print_r(array)

11樓:孤單

var_dump()

php 為什麼資料可以輸出 但是資料庫中沒有記錄??

12樓:

$sql="insert into news_list (id,title,author,content,time) values ('',$title,$author,$content,$time)";sql語句可以直接這樣寫,然後把"//$res=mysql_query($sql);"前面的註釋去了,因為這句是sql語句執行的必要條件,沒有它sql語句是沒用的.然後你可以用

if($res)

else

進行判斷是否sql語句執行成功了

13樓:匿名使用者

因為你的插入語句是錯誤的,字串欄位的值沒加引號。

你的程式拼接出來的sql語句是 insert into news_list (id,title,author,content,time) values (null, 123 ,123, 123, 2013-12-30);

實際上要能夠執行,語句應該是 insert into news_list (id,title,author,content,time) values (null, '123' ,'123', '123', '2013-12-30');

14樓:huc越前

你把mysql_query註釋掉,當然插不進資料庫。

echo的是你表單提交過去的內容,當然能列印。

請採納。

15樓:莘贍

你sql語句根本就沒執行成功

$sql="insert into news_list (id,title,author,content,time) values (null, "" , "", "", "");

insert 會返回一個新增的id,你的sql拼接好像出錯了

16樓:匿名使用者

sql語句不對唄。列印出來sql語句,拿出來執行看看報什麼錯試試這樣的

我貌似看到了中文的雙引號,還有單引號未加。。。。諸如此類的問題你檢查下你得sql

17樓:考昶

人在嗎你的資料庫沒有密碼嗎?

$sql這句話 裡面空個太多了該去的去掉 然後把//$res 這句註釋去掉 就行了 我在我電腦上試過了

php中switch以下輸出結果為什麼是1不是

我是這麼理解的抄 switch後面括號裡的東西襲 這裡的東西可以是表示式也可以是一個值 與case 後面的東西 這裡的東西可以是表示式也可以是值 進行比較,如果相等就能進去該case,如果不相等則不能進入該case 然後看你的 首先你的switch後面括號裡的東西是 a,也就是0,看第一個case後...

php中,為什麼echoabc 會輸出abc為

之前就和你說過,php裡面的雙引號會解析裡面的有特殊含義的字元,在這裡,反斜線 是一個特殊的字元,所以會轉義。有一種編碼叫做 asc ii編碼,具體是幹什麼用的,或者有什麼歷史你另外去了解,我不多說了。在php裡面,十六進位制和八進位制是不需要使用內建函式就可以直接解析成asc ii碼的 echo ...

php如何利用迴圈輸出資料庫表中所有記錄

問題肯定在你編寫的 上,請把 貼出來看看。你可以先換成foreach迴圈試一下。mysql select db infosystem link 選擇資料庫 q select from info sql查詢語句 mysql query set names gb2312 rs mysql query q...