如何确定$ _POST是否为空?我想根据是否提交ID来执行if/else,以确定记录是应该插入MySQL数据库还是更新。
我会用isset($_POST["ID"])
吗?
如何确定$ _POST是否为空?我想根据是否提交ID来执行if/else,以确定记录是应该插入MySQL数据库还是更新。
我会用isset($_POST["ID"])
吗?
PHP中几个用于此。
为此目的,人们使用empty或isset。许多人使用这个,不考虑差异。
本文档中的示例清楚地显示了区别。
$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,因为变量可以设置,但空。
你需要使用空():
if (!empty($_POST["ID"])) {
//rest of code here
}
你不应该在这里使用'empty',因为它会给诸如'“0”之类的值带来错误的否定。改用'isset'。 – shanethehat
是的,使用'isset($ _ POST ['key'])''。你也可以使用'array_key_exists('key',$ _POST)',但'isset()'很简单易读。 –
@Michael我想'isset()'是用来检查'$ _POST ['ID']'是否存在,而不是它是否有值? – RobFos
@ Rawb92 true,你永远不应该为$ _POST值使用isset()。 –