# 循环与判断
## 循环显示数据
传递给模板的变量中有可能是二维数组,例如新闻列表、商品列表等,我们就需要循环输出这些数据。
循环数据使用 foreach($allData as $rowData){}语句。
#### 例如:
我们在控制器中按照数据库中读取出数据的形式,模拟一些测试数据,然后传给display()方法。
~~~
class IndexController extends Controller{
public function index(){
//模拟数据库中读取出来的数据样式
$list = array(
array('gid'=>11, 'name'=>'电脑', 'price'=>'2000元'),
array('gid'=>22, 'name'=>'手机', 'price'=>'1000元'),
array('gid'=>33, 'name'=>'U盘', 'price'=>'90元')
);
$this->display($list);
}
}
~~~
在模板文件中调用输出如下:
~~~
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MAGPHP框架</title>
</head>
<body>
<ul>
<? foreach($list as $key=>$row) { ?>
<li>
KEY:<?=$key?> /
编号:<?=$row['gid']?> /
名称:<?=$row['name']?> /
价格:<?=$row['price']?>
<hr/>
</li>
<? } ?>
</ul>
</body>
</html>
~~~
>[warning] 除了使用foreach外还可使用php中for等循环语句。
<br/><br/><br/>
## 判断操作
根据传递到模板的变量,使用判断输出不同的内容
例如:
~~~
class IndexController extends Controller{
public function index(){
$age = 20;
$this->display($age);
}
}
~~~
~~~
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MAGPHP框架</title>
</head>
<body>
<? if($age > 18) { ?>
<h1>年龄 大于18岁</h1>
<? }else{ ?>
<h1>年龄 小于18岁</h1>
<? } ?>
</body>
</html>
~~~
>[warning] 除了使用if外还可使用php中任何判断语句比如switch等。
<br/><br/>