Heyo新手使用PHP,
我正在创建一个注册表,用户可以选择一个家庭中有多少个家庭成员,根据所选的数目,将创建相同数量的字段,以允许他们输入家庭成员的详细信息。 / p>
该表格在开始数据库插入之前检查所有错误消息是否为空。
我已经尝试了几个小时,但仍然不确定是什么导致数组返回empty()-False,
完整代码- GDrive Share Link
创建数组
$MemberNameErr = array();
$MemberDOBErr = array();
根据家庭成员的数量提供数组值
for($Variable_Counter = 0; $Variable_Counter < $Family_Counter;
$Variable_Counter++)
{
$MemberNameErr[$Variable_Counter] = "";
$MemberDOBErr[$Variable_Counter] = "";
}
如果该函数检查是否未发生错误
if ($FamilyNameErr == "" && $DateErr == "" && $EmailErr == "" && $PhoneErr == "" && $MobileErr == "" && empty($MemberNameErr) && empty($MemberDOBErr))
{
当前使用empty()作为检查数组是否为空的方法
创建这些只是为了检查数组是否不为空
if (!empty($MemberNameErr))
{
echo " MEMBER ERROR NOT EMPTY ";
}
if (!empty($MemberDOBErr))
{
echo " DOB ERROR NOT EMPTY ";
}
感谢您的所有投入。
答案 0 :(得分:2)
在您的循环中
VNDetectRectanglesRequest
您正在将空字符串分配给数组的索引。这意味着该数组不再为空。
例如:
for($Variable_Counter = 0; $Variable_Counter < $Family_Counter; $Variable_Counter++)
{
$MemberNameErr[$Variable_Counter] = "";
$MemberDOBErr[$Variable_Counter] = "";
}
输出:
不为空
一种解决方法是遍历此数组并检查是否至少有一个非空字符串。
例如
$tab = array("", "", "");
if (empty($tab))
{
echo "Empty";
}
else
{
echo "Not empty";
}