我收到了这个错误,我无法做出它的头或尾 .
确切的错误消息是:
致命错误:无法在第48行的/home/curricle/public_html/descarga/index.php中的写入上下文中使用函数返回值
第48行是:
if (isset($_POST('sms_code') == TRUE ) {
谁知道发生了什么?
PS这是完整的功能,如果有帮助:
function validate_sms_code() {
$state = NOTHING_SUBMITED;
if (isset($_POST('sms_code') == TRUE ) {
$sms_code = clean_up($_POST('sms_code'));
$return_code = get_sepomo_code($sms_code);
switch($return_code) {
case 1:
//no error
$state = CORRECT_CODE;
break;
case 2:
// code already used
$state = CODE_ALREADY_USED;
break;
case 3:
// wrong code
$state = WRONG_CODE;
break;
case 4:
// generic error
$state = UNKNOWN_SEPOMO_CODE;
break;
default:
// unknown error
$state = UNKNOWN_SEPOMO_CODE;
throw new Exception('Unknown sepomo code: ' . $return_code);
break;
}
} else {
$state = NOTHING_SUBMITED;
}
dispatch_on_state($state);
}
11 回答
你的意思是
虽然顺便说一句,你的意思是
在函数返回上使用empty时也会发生这种情况:
因为empty不是一个函数而是一个语言构造(不确定),它只需要变量:
对:
错误:
从PHP 5.5开始,它支持的不仅仅是变量 . 但如果您在5.5之前需要它,请使用
trim($name) == false
. 来自empty documentation .将此行更改为
你正在使用parentheseis()for
$_POST
但你想要方括号[]:)
要么
WORDPRESS的
:
代替:
应该:
正确的语法(最后你的括号丢失):
附:你不需要
== TRUE
部分,因为已经返回了BOOLEAN(true / false) .这可能发生在多个场景中,下面是一个众所周知的场景列表:
//使用括号访问数组的元素,括号用于调用函数
当我们尝试增加如下函数的结果时,也可以触发这个:
问题出在
()
你必须去[]
通过
我也有类似你的问题 . 问题是你使用的是旧的PHP版本 . 我已升级到PHP 5.6,问题不再存在 .
由于语法错误导致此错误被触发的另一种情况:
由于语法错误,我也遇到了这个问题 . 在数组索引中使用“(”而不是“[”:
function tracker_printcomments($ issueid){global $ CFG,$ DB;
// print_object($ comments); $ CMNT = ''; if($ comments){
返回$ cmnt;
}
我也为此功能获得了相同的错误
在写上下文中不能使用函数返回值