
批改狀態(tài):合格
老師批語(yǔ):完成的很好!有碼有圖。
<?php
//比較運(yùn)算符返回布爾值
var_dump(10 > 20);
// “==”,“===”
//“==”:值比較,當(dāng)操作符兩邊的操作類型不一致,會(huì)觸發(fā)類型自動(dòng)轉(zhuǎn)換機(jī)制
var_dump(100 == '100');
//"===":除了值相等,類型也必須一致
echo '<hr>';
var_dump(100 === '100');
echo '<hr>';
//太空船運(yùn)算符
var_dump(10 <=> 20);//返回-1
var_dump(10 <=> 5);//返回1
var_dump(10 <=> 10);//返回0
//大于返回1,小于返回-1,相等返回0
echo '<hr>';
//邏輯運(yùn)算符
//&&: 兩邊表達(dá)式除非全部為true,否則返回false
var_dump((10>20)&&(5>8));
echo '<hr>';
// ||:兩邊表達(dá)式一個(gè)為true,全部為true
var_dump((10<20)||(5>8));
echo '<hr>';
//三元運(yùn)算符
//三元:三個(gè)表達(dá)式
//二元:二個(gè)表達(dá)式
$price = 1000;
echo $price > 1500 ? '太貴了' : '太便宜了';
echo '<hr>';
// ??:null合并運(yùn)算符
echo $password ?? 'root';
<?php
//計(jì)算機(jī)默認(rèn)是順序執(zhí)行
//分支結(jié)構(gòu)
//1.單分支
$amount = 5500;
$payment = $amount;
/* if ($amount >= 4000){
$payment = $amount * 0.9;
} */
if ($amount >= 5000) $payment = $amount*0.9;
//當(dāng)流程控制語(yǔ)句中只有一行代碼的時(shí)候,可以省略大括號(hào)
echo '(省略大括號(hào))實(shí)際支付:',$payment,'元<hr>';
//模板語(yǔ)法:
if ($amount >= 4000):
$payment = $amount * 0.9;
endif;
/*
模板語(yǔ)法:就是去掉流程控制中的大括號(hào)
將起始大括號(hào)用冒號(hào)代替,將結(jié)束大括號(hào)用特殊關(guān)鍵字代替
*/
echo '(模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
//2.雙分支
$amount = 4500;
if ($amount >=5000){
$payment = $amount *0.9;
}else{
$payment = $amount;
}
echo '(雙分支)實(shí)際支付:',$payment,'元<hr>';
//模板語(yǔ)法:
$amount = 10000;
if ($amount >=5000):
$payment = $amount *0.9;
else:
$payment = $amount;
endif;
echo '(雙分支模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
//3.多分支
if ($amount > 5000 && $amount < 10000){
$payment = $amount *0.9;
}elseif($amount >= 10000 && $amount < 20000){
$payment = $amount *0.7;
}elseif($amount >= 20000){
$payment = $amount *0.5;
}else{
$payment = $amount;
}
echo '(多分支)實(shí)際支付:',$payment,'元<hr>';
//模板語(yǔ)法:
if ($amount > 5000 && $amount < 10000):
$payment = $amount *0.9;
elseif($amount >= 10000 && $amount < 20000):
$payment = $amount *0.7;
elseif($amount >= 20000):
$payment = $amount *0.5;
else:
$payment = $amount;
endif;
echo '(多分支模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
// 4.switch:用來(lái)簡(jiǎn)化多分支
//switch:通常用在單值判斷中
$amount = 20000;
switch(true){
case $amount > 5000 && $amount < 10000:
$payment = $amount *0.9;
break;
case $amount >= 10000 && $amount < 20000:
$payment = $amount *0.7;
break;
case $amount >= 20000:
$payment = $amount *0.5;
break;
//默認(rèn)分支
default:
$payment = $amount;
}
echo '(switch)實(shí)際支付:',$payment,'元<hr>';
//模板語(yǔ)法:
$amount = 15000;
switch(true):
case $amount > 5000 && $amount < 10000:
$payment = $amount *0.9;
break;
case $amount >= 10000 && $amount < 20000:
$payment = $amount *0.7;
break;
case $amount >= 20000:
$payment = $amount *0.5;
break;
//默認(rèn)分支
default:
$payment = $amount;
endswitch;
echo '(switch模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
<?php
$cities = ['合肥','南京','杭州','蘇州','上海'];
//判斷型循環(huán):入口判斷型 while(條件){...}
//判斷當(dāng)前數(shù)組元素的值
//current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針。
//如果內(nèi)部指針指向超出了單元列表的末端,current() 返回 FALSE。
while ($city = current($cities)){
echo $city,'<br>';
next($cities);//指針下移
}
echo '<hr>';
//指針復(fù)位
reset ($cities);
echo '指針復(fù)位<br>';
while ($city = current($cities)){
echo $city,'<br>';
next($cities);//指針下移
}
//模板語(yǔ)法:
echo '<hr>';
echo '模板語(yǔ)法<br>';
reset ($cities);
while ($city = current($cities)):
echo $city,'<br>';
next($cities);//指針下移
endwhile;
reset ($cities);
echo '<hr>';
echo 'do{}while();沒(méi)有模板語(yǔ)法';
//出口判斷型: do{...} while(條件)
do {
echo $city,'<br>';
next($cities);//指針下移
}while($city = current($cities));
<?php
$cities = ['山西','河南','山東','河北','湖南'];
//遍歷數(shù)組
echo '<hr>for遍歷數(shù)組<br>';
//echo count($cities);//統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)
//$i:數(shù)組元素的索引,默認(rèn)從0開(kāi)始
for($i = 0;$i < count($cities);$i++){
echo $cities[$i],'<br>';
}
//$i:數(shù)組元素的索引,默認(rèn)從0開(kāi)始
//模板語(yǔ)法
echo '<hr>for模板語(yǔ)法<br>';
for($i = 0;$i < count($cities);$i++):
echo $cities[$i],'<br>';
endfor;
//關(guān)鍵字輸出攔截break
echo '<hr>break攔截輸出<br>';
for($i = 0;$i < count($cities);$i++):
if($i > 2) break;
echo $cities[$i],'<br>';
endfor;
//continue有選擇的輸出
echo '<hr>continue有選擇的輸出<br>';
for($i = 0;$i < count($cities);$i++):
if($i === 3)continue;
echo $cities[$i],'<br>';
endfor;
<?php
//數(shù)據(jù)表查詢結(jié)果通常是一個(gè)二維數(shù)組,用二維數(shù)組來(lái)模擬
//php可以寫(xiě)在HTML中的任何地方
$users = [
['id'=>1,'name'=>'張三','age'=>20],
['id'=>2,'name'=>'王紅','age'=>22],
['id'=>3,'name'=>'李麗','age'=>21],
['id'=>4,'name'=>'劉帥','age'=>22],
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
$table = '<table border="1" cellspacing="0" cellpadding="0" width="600px">';
for ($i =0; $i < count($users);$i++){
$table .= '<tr>';
$table .= '<td>'.$users[$i]['id'].'</td>';
$table .= '<td>'.$users[$i]['name'].'</td>';
$table .= '<td>'.$users[$i]['age'].'</td>';
$table .= '</tr>';
}
$table .= '</table>';
echo $table.'<hr>';
?>
<table cellspacing="0" cellpadding="0" width="600px">
<?php for ($i =0; $i < count($users);$i++): ?>
<tr>
<td><?php $users[$i]['id'] ?></td>
<td><?php $users[$i]['name'] ?></td>
<td><?php $users[$i]['age'] ?></td>
</tr>
<?php endfor; echo $table;?>
</table>
</body>
</html>
例子 | 名稱 | 結(jié)果 |
---|---|---|
-$a | 取反 | $a 的負(fù)值 |
$a + $b | 加法 | $a 和 $b 的和 |
$a - $b | 減法 | $a 和 $b 的差 |
$a * $b | 乘法 | $a 和 $b 的積 |
$a / $b | 除法 | $a 除以 $b 的商 |
$a % $b | 取模 | $a 除以 $b 的余數(shù) |
賦值運(yùn)算符:
基本的賦值運(yùn)算符是”=”。一開(kāi)始可能會(huì)以為它是”等于”,其實(shí)不是的。它實(shí)際上意味著把右邊表達(dá)式的值賦給左邊的運(yùn)算數(shù)。
例子 | 名稱 | 結(jié)果 |
---|---|---|
$a & $b | And(按位與) | 將把 $a 和 $b 中都為 1 的位設(shè)為 1。 |
$a | $b | Or(按位或) | 將把 $a 和 $b 中任何一個(gè)為 1 的位設(shè)為 1。 |
$a ^ $b | Xor(按位異或) | 將把 $a 和 $b 中一個(gè)為 1 另一個(gè)為 0 的位設(shè)為 1。 |
~ $a | Not(按位取反) | 將 $a 中為 0 的位設(shè)為 1,反之亦然。 |
例子 | 名稱 | 結(jié)果 |
---|---|---|
$a == $b | 等于 | TRUE,如果類型轉(zhuǎn)換后 $a 等于 $b。 |
$a === $b | 全等 | TRUE,如果 $a 等于 $b,并且它們的類型也相同。 |
$a != $b | 不等 | TRUE,如果類型轉(zhuǎn)換后 $a 不等于 $b。 |
$a <> $b | 不等 | TRUE,如果類型轉(zhuǎn)換后 $a 不等于 $b。 |
$a !== $b | 不全等 | TRUE,如果 $a 不等于 $b,或者它們的類型不同。 |
$a < $b | 小與 | TRUE,如果 $a 嚴(yán)格小于 $b。 |
$a > $b | 大于 | TRUE,如果 $a 嚴(yán)格大于 $b。 |
$a <= $b | 小于等于 | TRUE,如果 $a 小于或者等于 $b。 |
$a >= $b | 大于等于 | TRUE,如果 $a 大于或者等于 $b。 |
$a <=> $b | 太空船運(yùn)算符(組合比較符) | 當(dāng)$a小于、等于、大于$b時(shí)分別返回一個(gè)小于、等于、大于0的integer 值。 PHP7開(kāi)始提供. |
$a ?? $b ?? $c | NULL 合并操作符 | 從左往右第一個(gè)存在且不為 NULL 的操作數(shù)。如果都沒(méi)有定義且不為 NULL,則返回 NULL。 |
例子 | 名稱 | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,然后返回 $a。 |
$a++ | 后加 | 返回 $a,然后將 $a 的值加一。 |
—$a | 前減 | $a 的值減一, 然后返回 $a。 |
$a— | 后減 | 返回 $a,然后將 $a 的值減一。 |
例子 | 名稱 | 效果 |
---|---|---|
$a and $b | And(邏輯與) | TRUE,如果 $a 和 $b 都為 TRUE。 |
$a or $b | Or(邏輯或) | TRUE,如果 $a 或 $b 任一為 TRUE。 |
$a xor $b | Xor(邏輯異或) | TRUE,如果 $a 或 $b 任一為 TRUE,但不同時(shí)是。 |
! $a | Not(邏輯非) | TRUE,如果 $a 不為 TRUE。 |
$a && $b | And(邏輯與) | TRUE,如果 $a 和 $b 都為 TRUE。 |
$a || $b | Or(邏輯或) | TRUE,如果 $a 或 $b 任一為 TRUE。 |
if(條件){
輸出結(jié)果
}
單分支可以省略大括號(hào)
if(條件)輸出結(jié)果;
模板語(yǔ)法:
if(條件):輸出結(jié)果; endif;
if(條件){
輸出結(jié)果
}else{
輸出結(jié)果
}
模板語(yǔ)法:
if(條件):
輸出結(jié)果
else:
輸出結(jié)果
endif;
if(條件){
輸出結(jié)果
}elseif{
輸出結(jié)果
}elseif{
輸出結(jié)果
}else{
輸出結(jié)果
}
模板語(yǔ)法:
if(條件):
輸出結(jié)果
elseif:
輸出結(jié)果
elseif:
輸出結(jié)果
else:
輸出結(jié)果
endif;
switch(true){
case (條件):
輸出結(jié)果;
break;
case (條件):
輸出結(jié)果;
break;
case (條件):
輸出結(jié)果;
break;
default:
輸出結(jié)果;
}
模板語(yǔ)法:
switch(true):
case (條件):
輸出結(jié)果;
break;
case (條件):
輸出結(jié)果;
break;
case (條件):
輸出結(jié)果;
break;
default:
輸出結(jié)果;
endswitch;
變量 = ['a','n','b'];
while(變量 = current(變量)){
//current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針
條件為真時(shí)執(zhí)行結(jié)果
next(變量);//指針下移
}
模板語(yǔ)法:
while(變量 = current(變量)):
//current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針
條件為真時(shí)執(zhí)行結(jié)果
next(變量);//指針下移
endwhile;
變量 = ['a','n','b'];
do{
//直接輸出結(jié)果
next(變量);//指針下移
}while(變量 = current(變量));
do while沒(méi)有模板語(yǔ)法
$array=['a','b','c'];
for($i = 0;$i < count($array);$i++){
echo '輸出結(jié)果$array[$i]';
}
模板語(yǔ)法:
$array=['a','b','c'];
for($i = 0;$i < count($array);$i++):
echo '輸出結(jié)果$array[$i]';
endfor;
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)