HTML中嵌套foreach循环主要是通过将foreach分解成几部分,嵌入到HTML代码中,并且还发现有几种不同的写法。可能有些说不明白,接下来通过代码解释
主要代码
<?php
$data=[
0=>['name'=>'孙悟空','sex'=>'男'],
1=>['name'=>'孙尚香','sex'=>'女'],
2=>['name'=>'后羿','sex'=>'男']
];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<table border="1">
<tr><td>姓名</td><td>性别</td</tr>
<!-- 要嵌套的代码,因为有好几种,代码放在下面说明 -->
</table>
</body>
</html>
第一种
<?php foreach ($data as $num => $info) { ?>
<tr>
<td>
<?php echo $info["name"]; ?>
</td>
<td>
<?php echo $info["sex"]; ?>
</td>
</tr>
<?php } ?>
该形式是最标准的,不容易误解
第二种:PHP标记
<?php foreach ($data as $num => $info) { ?>
<tr>
<td>
<?= $info["name"]; ?>
</td>
<td>
<?= $info["sex"]; ?>
</td>
</tr>
<?php } ?>
这种形式设计到了PHP的注解,
比如标准是以<?php开头,以?>结束;Script标记是<script language="php">开始,以 </script>结束
<?= $info["name"]; ?> 等同于 <?php echo $info["name"]; ?>
需要注意:用<?= ?> 就不用echo;并且<?= 这是一个整体,不要分开,以及里面没有php
第三种:用冒号替代花括号(流创控制)
<?php foreach ($data as $num => $info) : ?>
<tr>
<td>
<?= $info["name"]; ?>
</td>
<td>
<?= $info["sex"]; ?>
</td>
</tr>
<?php endforeach; ?>
冒号替代花括号,这里使用了PHP中的流程控制替代语法:
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch。替代语法的基本形式是把左花括号({)换成冒号(:),
把右花括号(})分别换成endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。
常见的应该就这3种,不过最好使用标准形式,这样不容易误解,自己之前一直就不太懂
结果图: