(If) 语句在从另一个 php 文件包含它时不起作用
(If) statement not working when including it from another php file
我有两个 php 个文件,第一个是 sample.php
,第二个是 if.php
。我有一些用 sample.php
编写的代码,基本上是两个变量的声明和一个 else
语句。我在 if.php
文件中有 if
语句,我将其包含在 else
语句之前。但是在 运行 我的代码显示错误:
Unexpected 'else'...etc.
你能帮我找出代码有什么问题吗?
Sample.php
<?php
$a=10;
$b=20;
include 'if.php';
else
{
echo $b.' is greater';
}
?>
if.php
<?php
if($a>$b)
{
echo $a.' is greater';
}
?>
include 'if.php';
else
不错,没有include
else
。即使您在包含文件的末尾有一个 if
子句,include
行也会打断它的顺序。
else
只能出现在 if
或 else if
块之后,没有第三种选择。期间.
下面是 PHP 解析器如何查看您的 2 个文件
if($a>$b){
echo $a.' is greater';
}
include "if.php";
else {
echo 'na';
}
这显然是无效的。
如果你仍然想保持原样,就像你在评论中提到的那样。你可以做 1 个小技巧(在许多其他方法中)。让你的 else
成为另一个 if
,这与第一个 if
相反。喜欢
if.php
if($a>$b){
echo $a.' is greater';
}
主文件
include "if.php";
if($a<=$b) {
echo 'na';
}
include(或 require)语句获取指定文件中存在的所有 text/code/markup,并将其复制到使用 include 语句的文件中。
当您想在网站的多个页面上包含相同的 PHP、HTML 或文本时,包含文件非常有用。
include 和 require 语句是相同的,除了失败时:
- require 将产生致命错误 (E_COMPILE_ERROR) 并停止脚本
- include 只会产生警告 (E_WARNING) 并且脚本会继续。
因此,如果您希望继续执行并向用户显示输出,即使包含文件丢失,请使用 include 语句。否则,在 FrameWork、CMS 或复杂的 PHP 应用程序编码的情况下,始终使用 require 语句将关键文件包含到执行流程中。这将有助于避免危及应用程序的安全性和完整性,以防万一一个密钥文件意外丢失。
包含文件可以节省大量工作。这意味着您可以为所有网页创建标准的页眉、页脚或菜单文件。然后,当需要更新header时,只更新header include文件即可。
footer.php
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
index.php
<!DOCTYPE html>
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
所以你的代码看起来像这样
if($a>$b)
{
echo $a.' is greater';
}
include "if.php";
else
{
echo 'na';
}
简直是大错特错
我有两个 php 个文件,第一个是 sample.php
,第二个是 if.php
。我有一些用 sample.php
编写的代码,基本上是两个变量的声明和一个 else
语句。我在 if.php
文件中有 if
语句,我将其包含在 else
语句之前。但是在 运行 我的代码显示错误:
Unexpected 'else'...etc.
你能帮我找出代码有什么问题吗?
Sample.php
<?php
$a=10;
$b=20;
include 'if.php';
else
{
echo $b.' is greater';
}
?>
if.php
<?php
if($a>$b)
{
echo $a.' is greater';
}
?>
include 'if.php';
else
不错,没有include
else
。即使您在包含文件的末尾有一个 if
子句,include
行也会打断它的顺序。
else
只能出现在 if
或 else if
块之后,没有第三种选择。期间.
下面是 PHP 解析器如何查看您的 2 个文件
if($a>$b){
echo $a.' is greater';
}
include "if.php";
else {
echo 'na';
}
这显然是无效的。
如果你仍然想保持原样,就像你在评论中提到的那样。你可以做 1 个小技巧(在许多其他方法中)。让你的 else
成为另一个 if
,这与第一个 if
相反。喜欢
if.php
if($a>$b){
echo $a.' is greater';
}
主文件
include "if.php";
if($a<=$b) {
echo 'na';
}
include(或 require)语句获取指定文件中存在的所有 text/code/markup,并将其复制到使用 include 语句的文件中。
当您想在网站的多个页面上包含相同的 PHP、HTML 或文本时,包含文件非常有用。
include 和 require 语句是相同的,除了失败时:
- require 将产生致命错误 (E_COMPILE_ERROR) 并停止脚本
- include 只会产生警告 (E_WARNING) 并且脚本会继续。
因此,如果您希望继续执行并向用户显示输出,即使包含文件丢失,请使用 include 语句。否则,在 FrameWork、CMS 或复杂的 PHP 应用程序编码的情况下,始终使用 require 语句将关键文件包含到执行流程中。这将有助于避免危及应用程序的安全性和完整性,以防万一一个密钥文件意外丢失。
包含文件可以节省大量工作。这意味着您可以为所有网页创建标准的页眉、页脚或菜单文件。然后,当需要更新header时,只更新header include文件即可。
footer.php
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
index.php
<!DOCTYPE html>
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
所以你的代码看起来像这样
if($a>$b)
{
echo $a.' is greater';
}
include "if.php";
else
{
echo 'na';
}
简直是大错特错