PHP将“if”放在标题中,将“else”放在页脚中

时间:2012-02-08 03:18:27

标签: php

我是程序员,我正在接受PHP,我似乎无法搜索这个,所以我希望这不是重复。目前这在header.php的第4行给出了一个错误,它说: 意外的$ end

我知道它正在抱怨语法,但我不完全理解文件如何被解析处理并在运行时执行(因此产生了这个错误)。如果我错过了PHP中的任何核心概念,感谢有人能填补我,我将不胜感激。

的header.php

<?php
if(true){
    echo "Helloworld";
?>

body.php

<?php
include('header.php');

echo "The great brown fox jumps over the lazy dog.";

include('footer.php');
?>

footer.php

<?php
}else{
    echo "bye bye";
}
?>

3 个答案:

答案 0 :(得分:3)

包含的每个文件必须能够自己解析而不会出现语法错误。您的标头具有未闭合if块的语法错误。同样,页脚具有无处不在的else块的语法错误。你不能这样做。

相反,您可以使用以下内容:

// Global variable defined above includes:
$condition = TRUE;
include('header.php');
echo "The great brown fox jumps over the lazy dog.";
include('footer.php');


// header.php
if ($condition) {
  echo "hello world";
}

// footer.php
if (!$condition) {
  echo "bye";
}

答案 1 :(得分:0)

使用输出缓冲来获取内容比将原始html包含到代码流中更好。

<?php 

function get_page_section($path){
    if(file_exists($path)){
        //grab "output" to the return variable
        ob_start();
        require($path);
        $return = ob_get_contents();
        ob_end_clean();
        return $return;
    }else{
        //path not found
        throw new Exception('get_page_section('.$path.') not found');
    }
}

$header = get_page_section('header.php');
$footer = get_page_section('footer.php');


echo $header.
     "The great brown fox jumps over the lazy dog.".
     $footer;

?>

答案 2 :(得分:0)

在header.php中的

键入以下代码

<?php
if(true){
    echo "Helloworld";
 }else{
     echo "bye bye";
     exit();
  }
?>

在body.php继续你之前写的

<?php
include('header.php');

echo "The great brown fox jumps over the lazy dog.";

这是解决问题的最简单方法 并希望这会有所帮助