【发布时间】:2026-01-05 02:00:01
【问题描述】:
我正在使用isset 检查变量是否已设置且不为空,然后我对其进行处理(例如,通过电子邮件或 Google 电子表格发送)。有时我会收到空结果,例如变量是否为空或空,甚至不是空格。为什么会这样?我错过了什么吗?
if(isset($_POST["name"]) && isset($_POST["phone"])){
$name = $_POST["name"];
$phone = $_POST["phone"];
$message="Nom: $name \nPhone: $phone \n";
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('from@mail.com', 'Name From');
$mail->addAddress('to@mail.com', 'Name To');
$mail->Subject = 'Subject';
$mail->Body = $message;
}
【问题讨论】:
-
如果变量为空但设置
isset将返回true。用isset($_POST["name"]) && empty($_POST["name"])检查一下。 -
当
$a = "";然后isset( $a );会变成trueisset不是区分空字符串的好函数