Php 致命错误:无法对表达式的结果使用isset()(可以改为使用“null!==expression”)
我一直收到错误: 致命错误:无法对表达式的结果使用isset()(可以改为使用“null!==expression”) 这是10号线Php 致命错误:无法对表达式的结果使用isset()(可以改为使用“null!==expression”),php,Php,我一直收到错误: 致命错误:无法对表达式的结果使用isset()(可以改为使用“null!==expression”) 这是10号线 if (isset($_GET['page']=="logout")) { 以下是该代码的“全部”部分: session_destroy(); echo '<script>document.location.href="shipper.php"</script>'; } session_destroy(); echo'
if (isset($_GET['page']=="logout")) {
以下是该代码的“全部”部分:
session_destroy();
echo '<script>document.location.href="shipper.php"</script>';
}
session_destroy();
echo'document.location.href=“shipper.php”;
}
isset是一个函数,您可以向其传递一个值,以确定该变量是否已设置。你没有在里面放一个相等的表达式
您可以这样做:
if (isset($_GET['page']) && $_GET['page'] == 'logout') {
或者简单地说:
if ($_GET['page'] == 'logout') {
旁注。。。如果您正在处理文本字符串(其中没有变量),您应该只使用单引号。(注意我在上面更改了它)isset()不是这样工作的。它只检查某物是否存在,而从不检查值。你能行
<?php
if(isset($_GET['something'] && $_GET['something'] === "value"){
//do something
}
?>
1。您的第二个建议将生成一个“未定义索引”通知,不应使用。2.静态字符串上的双引号和单引号在功能上没有区别,在这种简单的情况下,没有理由“应该”使用一个或另一个。单引号具有更好的性能,因为PHP不必解释其中的变量。所以,是的,这是有原因的。如果是字符串文字,则使用单引号。不,它们没有。没有任何意义。一个人可能花在考虑使用一个引号或另一个引号上的时间已经比他们在整个生命过程中集体节省的时间多了好几个数量级——通过使用不同的引号封装字符串来节省时间。你肯定是错的。如果这样做不是为了获得轻微的性能优势,那么您应该遵循业界公认的最佳实践,同时作为一名训练有素的编码人员,真正思考您要实现的目标。知道你是在做一个字符串文字还是一个需要解析的字符串是一个重要的原则,并且成为成熟程序员的第二天性。参见Zend标准,例如:哦,我们开始了:如果封装一个空字符串,假设这不仅仅是误差范围,那么可以节省6皮秒。停止传播这样的坏信息。你真的可以搜索这个错误。我从谷歌搜索中得到的第一个成功,是我用来关闭问题的副本。我确实像你告诉我的那样,但我得到了以下错误:(在关闭脚本之前,在js之后添加一个;)