2011-11-21 33 views
2

如何確定$ _POST是否爲空?我想根據是否提交ID來執行if/else,以確定記錄是應該插入MySQL數據庫還是更新。

我會用isset($_POST["ID"])嗎?

+2

是的,使用'isset($ _ POST ['key'])''。你也可以使用'array_key_exists('key',$ _POST)',但'isset()'很簡單易讀。 –

+0

@Michael我想'isset()'是用來檢查'$ _POST ['ID']'是否存在,而不是它是否有值? – RobFos

+0

@ Rawb92 true,你永遠不應該爲$ _POST值使用isset()。 –

回答

2

PHP中幾個用於此。

爲此目的,人們使用emptyisset。許多人使用這個,不考慮差異。

本文檔中的示例清楚地顯示了區別。

$var = 0; 

// Evaluates to true because $var is empty 
if (empty($var)) { 
    echo '$var is either 0, empty, or not set at all'; 
} 

// Evaluates as true because $var is set 
if (isset($var)) { 
    echo '$var is set even though it is empty'; 
} 

在這種特殊情況下,你應該使用,而不是isset,因爲變量可以設置,但空。

-1

你需要使用空():

if (!empty($_POST["ID"])) { 
    //rest of code here 
} 
+0

你不應該在這裏使用'empty',因爲它會給諸如'「0」之類的值帶來錯誤的否定。改用'isset'。 – shanethehat