我正在尝试从外部php文件中包含if语句的部分内容,因为我想要使用大量的if语句但是将它们组织起来。
我收到了错误 -
解析错误:语法错误,意外'否则' (T_ELSE)
我的主要代码是:
<?php
require 'Lib/Functions.php';
$message = "hello";
if($message == '') {
$message_to_reply = Pick('|Please ask me a question|Got any questions?|Want to talk?');
}
include 'Response/Data.php';
include 'Response/General.php';
else {
$message_to_reply = 'Sorry, im not sure what you mean?';
}
echo $message_to_reply;
?>
包含的General.php等是这样的:
<?php
elseif(preg_match('[hello|hi|Greetings]', strtolower($message))) {
$message_to_reply = Pick('Hi there!|Hello there!|Hi, it\'s nice to meet you|Greetings');
}
?>
答案 0 :(得分:1)
if($message == '') {
$message_to_reply = Pick('|Please ask me a question|Got any questions?|Want to talk?');
include 'Response/Data.php';
include 'Response/General.php';
}
尝试在include后括起括号,然后启动else部分
答案 1 :(得分:1)
您的主要代码
<?php
require 'Lib/Functions.php';
$message = "hello";
if($message == '') {
$message_to_reply = Pick('|Please ask me a question|Got any questions?|Want to talk?');
include 'Response/Data.php'; // move inside if statement
include 'Response/General.php'; // move inside if statement
}
else {
$message_to_reply = 'Sorry, im not sure what you mean?';
}
echo $message_to_reply;
?>
你的 general.php 应该;
<?php
// remove elseif // just if
if(preg_match('[hello|hi|Greetings]', strtolower($message))) {
$message_to_reply = Pick('Hi there!|Hello there!|Hi, it\'s nice to meet you|Greetings');
}
?>
如果没有else
,您无法使elseif
或if
语句独立。这是我们需要遵循的代码块结构。
答案 2 :(得分:1)
除了if / elseif条件之外,if和else之间不应该有任何其他代码。
你要包含一个只包含elseif的文件,这个文件可以包含在if语句中或者在else部分的末尾,并且在那个包含的文件中你也不能在没有if语句的情况下提及elseif。