用php怎么拼接html并进行输出?

//Demo01.php
 public static function buildFullPage(){
        $data = [
            [
                'type'=>'header'
            ],
            [
                'type'=>'companys',
                'com_id'=>'北京',
                                //定义了很多变量  每个content布局都是一样的
                ]
            ],
            [
                'type'=>'companys',
                'com_id'=>'上海',
                ]
            ],
            [
                'type'=>'companys',
                'com_id'=>'深圳',
                ]
            ],
            [
                'type'=>'companys',
                'com_id'=>'杭州',
                ]
            ],
            [
                'type'=>'footer'
            ]
        ];
        foreach($data as $type=>$type_value){
            switch($type){
                case'header':
                    echo Demo01::buildHeader();
                case'companys':
                    echo Demo01::buildCom($data);
                case'footer':
                    echo Demo01::buildFooter();
            }
        }
    }

页面大概布局是一个header 四个content(也就是每一个content是一个公司的介绍,模板都一样),一个footer ,用这种方法,每次都只是显示一个content,如果想全部显示,该怎么做?

//index.php
 <?php

include("Demo01.php");

echo Demo01::buildFullPage();

不是 <?php ?>裡的文字會直接輸出成為html 本文
例:
<?php
require('sample.php');
?>


若是一定要用php寫,就用 echo 輸出。
例:
<?php
require('sample.php');

echo '

';

?>
若是以array 做,那就是

echo $data['type'];

至於要用 for 或是 foreach 就看你自己的需要了。

首先你的echo Demo01::buildFullPage(); 很有问题 你的函数Demo01::buildFullPage() 根本没有返回值 你怎么echo他? 要返回 就在Demo01::buildFullPage() 里 echo的地方 拼接你echo的东西 在函数最后面 return你拼接的 最后你就可以通过echo Demo01::buildFullPage() 输出了

不好意思之前沒看到下面還有。
起先試試 switch 裡的 case 尾加個 break;

要一个header和footer,还有4个company?
要这样的话,你的array就不能这样,应该是

 <?php
 $companys = [
     'beijing' => [ 'com_id' => '北京', ... ],
     'shanghai' => [ 'com_id' => '上海', ... ]
 ];

 function buildFullPage() {
     echo Demo01::buildHeader();
     foreach ($companys as $company) {
        echo Demo01::buildCom($company);
     }
     echo Demo01::buildFooter();
 }
 ?>

Demo01::buildCom传入是数组