我的网站上有一个功能,您可以在这里购买东西。完成之后,您将收到一封电子邮件。除了一件事,一切都正常。我的代码中有一个if
语句,但它始终采用if
而不是else if
或else
路径。
我在互联网上进行搜索,但找不到任何解决方案。我在else if
中尝试了类似else if (isset empty($registrationInfo['serviceselectoptie'])
和else if (isset ($registrationInfo['serviceselectoptie'] === NULL)
的其他操作,但这没用。
我的if
语句
<?php
$registrationInfo = $connect->select(
"SELECT * FROM `registrationinfo` WHERE `orderId`= '".$order_id."' LIMIT 1"
)->fetch();
if (
isset($registrationInfo['serviceselectoptie']) AND
isset($registrationInfo['serviceconsult'])
) {
$titellist = '<tr><td bgcolor="#DEDEDE" style="padding: 5px 5px 5px 5px;width:175px;">'
.$registrationInfo['serviceselectoptie'].':</td><td style="padding: 5px 5px 5px 5px;">'
.$registrationInfo['serviceconsult'] .'</td></tr>';
} else if (
!isset($registrationInfo['serviceselectoptie']) AND
isset($registrationInfo['serviceconsult'])
) {
$titellist = '<tr><td bgcolor="#DEDEDE" style="padding: 5px 5px 5px 5px;width:175px;">'
.'Bestelling:</td><td style="padding: 5px 5px 5px 5px;">'
.$registrationInfo['serviceconsult'].'</td></tr>';
} else {
$titellist = "";
}
?>
我期望的是,如果$registrationInfo['serviceselectoptie']
行为空(null
),它将转到else if
。我的实际输出是它采用了if
路径,并且由于该行为空,所以它只会给出:
输出示例
答案 0 :(得分:3)
当您检查结果集中的详细信息时,您会发现它们将始终被设置,而您想要的是检查值是否为private function searchCompatibility()
{
$products = Products::all();
return view('sample', compact('products'));
}
,因为您要确保存在虽然是一个值-您必须说empty()
来检查它是否具有值...
!empty()
也将其应用于代码的其他部分。
答案 1 :(得分:0)
isset($registrationInfo['serviceselectoptie'])
键并将其设置为空字符串或serviceselectoptie
以外的其他值时, NULL
是正确的。
// php -a
// Interactive shell
> $test = ['a'=>2, 'b'=>null, 'c'=>''];
> echo isset($test['a']);
1
> echo isset($test['b']);
> echo isset($test['c']);
1
更好的检查是使用empty
函数。
// php -a
// Interactive shell
> $test = ['a'=>2, 'b'=>null, 'c'=>''];
> echo empty($test['a']);
> echo empty($test['b']);
1
> echo empty($test['c']);
1
> echo empty($test['d']); // non-existent key
1
> echo empty(NULL['a']); // yes NULL can be indexed
1
这样,代码中的分支将如下所示:
if(
!empty($registrationInfo['serviceselectoptie'])
AND !empty($registrationInfo['serviceconsult'])) {
//...
}
else if(
empty($registrationInfo['serviceselectoptie'])
AND !empty($registrationInfo['serviceconsult'])) {
//...
}
else {
//...
}