条件语句
PHP 同 C++、Java 一样,支持 if
条件语句和 switch
条件语句
if 语句
if 根据条件执行代码
if (condition) { // ... }
可以接 else 在没有达到条件时执行相应的代码
if (condition) { // ... } else { // ... }
可以接 elseif 在 if 之后判断另一个条件
if (condition) { // ... } elseif (condition) { // ... } else { // ... }
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<title>If Statement</title>
</head>
<body>
<div class="well">
<?php
$age = 5;
if ($age > 5) {
echo 'You are older than me!';
} elseif ($age < 5) {
echo 'You are younger than me!';
} else {
echo 'We are the same age!';
}
?>
</div>
</body>
</html>
switch 语句
PHP 的 switch
语句和 C++ 的类似,但是条件可以是非整型。
switch
语句根据条件执行不同的分支- 使用
break
跳过其他分支,否则继续执行其他分支 如果没有匹配分支则执行
default
语句switch (n) { case 1: // ... break; case 2: // ... break; ... default: // ... }
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<title>Switch Statement</title>
</head>
<body>
<div class="well">
<?php
$weekday = 6;
switch ($weekday) {
case 1: case 2: case 3: case 4: case 5:
echo "Let's work!";
break;
case 6:
echo "Let's go climbing!";
break;
case 7:
echo "Let's watch TV!";
break;
default:
echo "Let's do the homework!";
break;
}
?>
</div>
</body>
</html>
循环语句
PHP 支持 while
,do...while
,for
,foreach
四种循环语句
while 语句
语法
while (condition) { // do something }
- 只要
condition
为true
,就一直执行do something
示例
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<title>While Statement</title>
</head>
<body>
<div class="well">
<?php
$week = array(
1=>'Monday',
2=>'Tuesday',
3=>'Wednesday',
4=>'Thursday',
5=>'Friday',
6=>'Saturday',
7=>'Sunday');
$weekday = 0;
while (++$weekday < 6) {
echo "Today is $week[$weekday], do work. :(<br>";
}
echo "Today is $week[$weekday], happy! :)<br>";
?>
</div>
</body>
</html>
do while 语句
语法
do { // do something } while (condition);
先执行
do something
,再判断condition
,do something
至少执行一次- 执行
do something
,直到condition
为false
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<title>Do While Statement</title>
</head>
<body>
<div class="well">
<?php
$count = 0;
do {
echo "Count is $count<br>";
++$count;
} while ($count < 10);
?>
</div>
</body>
</html>
for 语句
- 语法:
for (initializer; condition; iterate) {
// do something
}
initializer
初始化迭代因子- 执行
condition
,如果为true
则执行do something
,否则退出循环 do something
执行之后执行iterate
iterate
修改迭代因子,继续执行condition
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<title>Do While Statement</title>
</head>
<body>
<div class="well">
<?php
for ($count = 0; $count < 10; ++$count) {
echo "Count is $count<br>";
}
?>
</div>
</body>
</html>
foreach 语句
- 用来遍历数组
语法:
foreach ($array as $value) { // do something }
- 每次迭代
$value
被赋予$array
中的一个元素
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<title>Foreach Statement</title>
</head>
<body>
<div class="well">
<?php
echo '<h2>Iterate Indexed Array</h2>';
$fav_langs = array('PHP', 'C++', 'Java', 'Python', 'Go');
foreach ($fav_langs as $index => $value) {
echo '$fav_langs[' . $index . '] is ' . $value . '<br>';
}
echo '<h2>Iterate Associative Array</h2>';
$fav_colors = array('red'=>'#FF0000', 'green'=>'#00FF00', 'blue'=>'#0000FF');
foreach ($fav_colors as $color => $value) {
echo '<span style="color:' . $value . '">' . $color . ': ' . $value . '</span><br>';
}
?>
</div>
</body>
</html>