PHP语法错误,意外的T
码:
public function isQuestion($query){
$questions = $this->getAllQuestions();
if (count($questions)){
foreach ($questions as $q){
if ($this->isQuestion$q($query)){
return $this->isQuestion$q($query);
}
}
}
return false;
}
错误:
Parse error: syntax error, unexpected T_VARIABLE in /Applications/XAMPP/xamppfiles/htdocs/ai/application/models/question_model.php on line 7
发生问题
if ($this->isQuestion$q($query)){
return $this->isQuestion$q($query);
我有一些函数,如isQuestion1 , isQuestion2 , isQuestion3等...和我调用另一个函数 * getAllQuestions *,将返回数组中的问题的所有数字,如1,2,3,4,5 ...然后我使用上面的代码来检查每个函数是否是基于查询的问题
那么,以下是无效的语法:
if ($this->isQuestion$q($query)){
试试这个:
foreach ($questions as $q) {
if ($result = $this->{'isQuestion' . $q}()) {
return $result;
}
}
return false;
问题出在你的方法isQuestion$q
。
$
表示变量的开始,并且使解释器混淆。
这样写:
isQuestion{$q}
花括号允许你插入一个变量到一个字符串中(或者任何有字符串表示的变量)。 阅读PHP中字符串的大括号以获取更多信息。
如果您需要使用动态名称调用函数,请查看http://de2.php.net/manual/en/function.call-user-func-array.php或http://de2.php。净/手动/ EN / function.call-用户func.php
您可能想确保该方法真正存在以避免发生致命错误:http://de2.php.net/manual/en/function.method-exists.php
另外检查你是否要更换
if ($this->isQuestion$q($query)){
return $this->isQuestion$q($query);
}
同
if ($this->isQuestion$q($query)){
return true;
}
一般来说,最好创建一个interface
Question
并保存一个包含Question实例的array
。