PHP - 如果包含语句错误

时间:2016-12-19 09:19:08

标签: php if-statement include

我正在尝试从外部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');
}

?>

3 个答案:

答案 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,您无法使elseifif语句独立。这是我们需要遵循的代码块结构。

希望这有帮助。

答案 2 :(得分:1)

除了if / elseif条件之外,if和else之间不应该有任何其他代码。

你要包含一个只包含elseif的文件,这个文件可以包含在if语句中或者在else部分的末尾,并且在那个包含的文件中你也不能在没有if语句的情况下提及elseif。