2019鐵人賽
PHP
學完了基本運算式,今天來聊聊程式語言裡所謂的流程控制,最簡單的流程控制來說就是讓程式作是非題。
而更進一步的就是迴圈:就是讓程式在滿足條件之後才離開流程。
條件控制的指令有:
基本表示法如下:
if (條件式) {
條件成立才執行內容;
}
範例
$user = 'Kao';
if ($user
== 'Kao') {
echo 'Hi, Kao';
}
基本表示法如下:
if (條件式) {
條件成立才執行內容;
} else {
條件不成立時執行的內容;
}
範例
<?php
$user = 'SoJ';
if ($user == 'Kao') {
echo 'Hi, Kao';
} else {
echo 'Hi, I don\'t know you!';
}
基本表示法如下:
if (條件式a) {
條件a 成立才執行內容;
} elseif (條件b) {
條件b 成立時執行的內容;
} else {
條件a ,條件b 都不成立時才執行內容;
}
範例
```php
<?php
$bag_height = 80;
if ($bag_height > 100) {
echo 'This bag is big size.';
} else if ($bag_height > 40 && $bag_height <= 100) {
echo 'This bag is middle size.';
} else {
echo 'This bag is samll size.';
}
基本表示法如下:
switch (自定義變數) {
case 條件值1:
自定義變數等於條件值1,就執行的內容;
break;
case 條件值2:
自定義變數等於條件值2,就執行的內容;
break;
.
.
.
default:
上述條件都不滿足才執行這裡的內容;
}
範例
```php
<?php
$point = ['x' => 1,'y' => -1];
switch($point) {
case ($point['x']>0 && $point['y']>0):
echo '第一象限';
break;
case ($point['x']<0 && $point['y']>0):
echo '第二象限';
break;
case ($point['x']<0 && $point['y']<0):
echo '第三象限';
break;
case ($point['x']>0 && $point['y']<0):
echo '第四象限';
break;
}
迴圈的指令有:
基本表示法如下:
while (條件式) {
條件成立才執行內容;
}
//直到條件不符合才跳離
範例
<?php
$multiplicand = 2;
$multiplier = 1;
while ($multiplier < 10) {
echo $multiplicand.' x '.$multiplier.' = '.$multiplicand * $multiplier."</br>";
$multiplier++;
}
基本表示法如下:
do {
執行內容;
} while (條件式);
與 while 的最大差別是,do...while無論條件是否成立都至少會執行一次內容
範例
<?php
$multiplicand = 2;
$multiplier = 1;
do {
echo $multiplicand.' x '.$multiplier.' = '.$multiplicand * $multiplier."</br>";
$multiplier++;
} while ($multiplier < 1);
基本表示法如下:
for(變數初始值;條件式;變數計次方式) {
執行內容;
}
範例
<?php
for($i=2;$i<10;$i++){
for($j=2;$j<10;$j++) {
echo "$i x $j = ".($i * $j).'</br>';
}
echo '--------</br>';
}
foreach 的一般表示法比較難解釋,foreach 的主要用法是用來遍歷一個 object 或是 array。我們直接看範例。
假設一個名為 $class
的 array,裡面有兩個同學 Kao
、SoJ
的基本資料(也是一個 array ),我們可以利用 foreach 的遍歷效果,直接將兩個同學的基本資料直接印出來。
<?php
$class = [
0=>['name' => 'Kao', 'age' => 20],
1=>['name' => 'SoJ', 'age' => 21]
];
foreach ($class as $profile){
echo 'name : '.$profile['name'].' ; ';
echo 'age : '.$profile['age'].'</br>';
}