2011-05-07 92 views
8

可能重複:
Check if $_POST exists

我想,當且僅當被填充的$ _POST變種運行的東西。我可以做if(empty($_POST[...])) { ... }嗎?或者我應該以另一種方式去做?

+0

你是什麼意思的 「填充」 嗎?如果'$ _POST ['key']'包含一個空字符串,它是否被填充? – GodsBoss 2011-05-07 19:33:03

回答

21

我做if(isset($_POST['key'])) { ... }

+0

如果$ _ POST [「關鍵」]是存在沒有它返回true,這並不總是你想要的值。 – 2017-06-14 16:24:48

1

您可以檢查$_SERVER['REQUEST_METHOD']羯羊它是POST或別的東西。請參閱$_SERVER

哎呀,我完全誤解了你的問題。您是否想要測試特定條目是否在$_POST?然後使用array_key_exists($key, $_POST)

+0

適合在循環內使用! :) – 2018-03-03 18:42:39

3

沒有,空()是沒有這樣做的正確方法。你必須使用isset()。

爲什麼?因爲許多事情被認爲是空的,你可能不想錯過!

下面的事情被認爲是空的:

"" (an empty string) 
0 (0 as an integer) 
0.0 (0 as a float) 
"0" (0 as a string) 
NULL 
FALSE 
array() (an empty array) 
var $var; (a variable declared, but without a value in a class) 

See the manual!

+0

只有串類型可以是存在於輸入陣列。 – mario 2011-05-07 19:40:03