# 循環與判斷
## 循環顯示數據
傳遞給模板的變量中有可能是二維數組,例如新聞列表、商品列表等,我們就需要循環輸出這些數據。
循環數據使用 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/>