亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 55
粉絲 3
評(píng)論 0
訪問(wèn)量 69592
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP操作符與流程控制
王佳祥
原創(chuàng)
1008人瀏覽過(guò)

PHP操作符與流程控制

一、操作符

  1. <?php
  2. //比較運(yùn)算符返回布爾值
  3. var_dump(10 > 20);
  4. // “==”,“===”
  5. //“==”:值比較,當(dāng)操作符兩邊的操作類型不一致,會(huì)觸發(fā)類型自動(dòng)轉(zhuǎn)換機(jī)制
  6. var_dump(100 == '100');
  7. //"===":除了值相等,類型也必須一致
  8. echo '<hr>';
  9. var_dump(100 === '100');
  10. echo '<hr>';
  11. //太空船運(yùn)算符
  12. var_dump(10 <=> 20);//返回-1
  13. var_dump(10 <=> 5);//返回1
  14. var_dump(10 <=> 10);//返回0
  15. //大于返回1,小于返回-1,相等返回0
  16. echo '<hr>';
  17. //邏輯運(yùn)算符
  18. //&&: 兩邊表達(dá)式除非全部為true,否則返回false
  19. var_dump((10>20)&&(5>8));
  20. echo '<hr>';
  21. // ||:兩邊表達(dá)式一個(gè)為true,全部為true
  22. var_dump((10<20)||(5>8));
  23. echo '<hr>';
  24. //三元運(yùn)算符
  25. //三元:三個(gè)表達(dá)式
  26. //二元:二個(gè)表達(dá)式
  27. $price = 1000;
  28. echo $price > 1500 ? '太貴了' : '太便宜了';
  29. echo '<hr>';
  30. // ??:null合并運(yùn)算符
  31. echo $password ?? 'root';

二、分支控制與模板語(yǔ)法

  1. <?php
  2. //計(jì)算機(jī)默認(rèn)是順序執(zhí)行
  3. //分支結(jié)構(gòu)
  4. //1.單分支
  5. $amount = 5500;
  6. $payment = $amount;
  7. /* if ($amount >= 4000){
  8. $payment = $amount * 0.9;
  9. } */
  10. if ($amount >= 5000) $payment = $amount*0.9;
  11. //當(dāng)流程控制語(yǔ)句中只有一行代碼的時(shí)候,可以省略大括號(hào)
  12. echo '(省略大括號(hào))實(shí)際支付:',$payment,'元<hr>';
  13. //模板語(yǔ)法:
  14. if ($amount >= 4000):
  15. $payment = $amount * 0.9;
  16. endif;
  17. /*
  18. 模板語(yǔ)法:就是去掉流程控制中的大括號(hào)
  19. 將起始大括號(hào)用冒號(hào)代替,將結(jié)束大括號(hào)用特殊關(guān)鍵字代替
  20. */
  21. echo '(模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
  22. //2.雙分支
  23. $amount = 4500;
  24. if ($amount >=5000){
  25. $payment = $amount *0.9;
  26. }else{
  27. $payment = $amount;
  28. }
  29. echo '(雙分支)實(shí)際支付:',$payment,'元<hr>';
  30. //模板語(yǔ)法:
  31. $amount = 10000;
  32. if ($amount >=5000):
  33. $payment = $amount *0.9;
  34. else:
  35. $payment = $amount;
  36. endif;
  37. echo '(雙分支模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
  38. //3.多分支
  39. if ($amount > 5000 && $amount < 10000){
  40. $payment = $amount *0.9;
  41. }elseif($amount >= 10000 && $amount < 20000){
  42. $payment = $amount *0.7;
  43. }elseif($amount >= 20000){
  44. $payment = $amount *0.5;
  45. }else{
  46. $payment = $amount;
  47. }
  48. echo '(多分支)實(shí)際支付:',$payment,'元<hr>';
  49. //模板語(yǔ)法:
  50. if ($amount > 5000 && $amount < 10000):
  51. $payment = $amount *0.9;
  52. elseif($amount >= 10000 && $amount < 20000):
  53. $payment = $amount *0.7;
  54. elseif($amount >= 20000):
  55. $payment = $amount *0.5;
  56. else:
  57. $payment = $amount;
  58. endif;
  59. echo '(多分支模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';
  60. // 4.switch:用來(lái)簡(jiǎn)化多分支
  61. //switch:通常用在單值判斷中
  62. $amount = 20000;
  63. switch(true){
  64. case $amount > 5000 && $amount < 10000:
  65. $payment = $amount *0.9;
  66. break;
  67. case $amount >= 10000 && $amount < 20000:
  68. $payment = $amount *0.7;
  69. break;
  70. case $amount >= 20000:
  71. $payment = $amount *0.5;
  72. break;
  73. //默認(rèn)分支
  74. default:
  75. $payment = $amount;
  76. }
  77. echo '(switch)實(shí)際支付:',$payment,'元<hr>';
  78. //模板語(yǔ)法:
  79. $amount = 15000;
  80. switch(true):
  81. case $amount > 5000 && $amount < 10000:
  82. $payment = $amount *0.9;
  83. break;
  84. case $amount >= 10000 && $amount < 20000:
  85. $payment = $amount *0.7;
  86. break;
  87. case $amount >= 20000:
  88. $payment = $amount *0.5;
  89. break;
  90. //默認(rèn)分支
  91. default:
  92. $payment = $amount;
  93. endswitch;
  94. echo '(switch模板語(yǔ)法)實(shí)際支付:',$payment,'元<hr>';


三、循環(huán)控制與模板語(yǔ)法

1.判斷型循環(huán)

  1. <?php
  2. $cities = ['合肥','南京','杭州','蘇州','上海'];
  3. //判斷型循環(huán):入口判斷型 while(條件){...}
  4. //判斷當(dāng)前數(shù)組元素的值
  5. //current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針。
  6. //如果內(nèi)部指針指向超出了單元列表的末端,current() 返回 FALSE。
  7. while ($city = current($cities)){
  8. echo $city,'<br>';
  9. next($cities);//指針下移
  10. }
  11. echo '<hr>';
  12. //指針復(fù)位
  13. reset ($cities);
  14. echo '指針復(fù)位<br>';
  15. while ($city = current($cities)){
  16. echo $city,'<br>';
  17. next($cities);//指針下移
  18. }
  19. //模板語(yǔ)法:
  20. echo '<hr>';
  21. echo '模板語(yǔ)法<br>';
  22. reset ($cities);
  23. while ($city = current($cities)):
  24. echo $city,'<br>';
  25. next($cities);//指針下移
  26. endwhile;
  27. reset ($cities);
  28. echo '<hr>';
  29. echo 'do{}while();沒(méi)有模板語(yǔ)法';
  30. //出口判斷型: do{...} while(條件)
  31. do {
  32. echo $city,'<br>';
  33. next($cities);//指針下移
  34. }while($city = current($cities));


2.for遍歷數(shù)組

  1. <?php
  2. $cities = ['山西','河南','山東','河北','湖南'];
  3. //遍歷數(shù)組
  4. echo '<hr>for遍歷數(shù)組<br>';
  5. //echo count($cities);//統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)
  6. //$i:數(shù)組元素的索引,默認(rèn)從0開(kāi)始
  7. for($i = 0;$i < count($cities);$i++){
  8. echo $cities[$i],'<br>';
  9. }
  10. //$i:數(shù)組元素的索引,默認(rèn)從0開(kāi)始
  11. //模板語(yǔ)法
  12. echo '<hr>for模板語(yǔ)法<br>';
  13. for($i = 0;$i < count($cities);$i++):
  14. echo $cities[$i],'<br>';
  15. endfor;
  16. //關(guān)鍵字輸出攔截break
  17. echo '<hr>break攔截輸出<br>';
  18. for($i = 0;$i < count($cities);$i++):
  19. if($i > 2) break;
  20. echo $cities[$i],'<br>';
  21. endfor;
  22. //continue有選擇的輸出
  23. echo '<hr>continue有選擇的輸出<br>';
  24. for($i = 0;$i < count($cities);$i++):
  25. if($i === 3)continue;
  26. echo $cities[$i],'<br>';
  27. endfor;


3.用表格來(lái)輸出二維數(shù)組

  1. <?php
  2. //數(shù)據(jù)表查詢結(jié)果通常是一個(gè)二維數(shù)組,用二維數(shù)組來(lái)模擬
  3. //php可以寫(xiě)在HTML中的任何地方
  4. $users = [
  5. ['id'=>1,'name'=>'張三','age'=>20],
  6. ['id'=>2,'name'=>'王紅','age'=>22],
  7. ['id'=>3,'name'=>'李麗','age'=>21],
  8. ['id'=>4,'name'=>'劉帥','age'=>22],
  9. ];
  10. ?>
  11. <!DOCTYPE html>
  12. <html lang="en">
  13. <head>
  14. <meta charset="UTF-8">
  15. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  16. <title>Document</title>
  17. </head>
  18. <body>
  19. <?php
  20. $table = '<table border="1" cellspacing="0" cellpadding="0" width="600px">';
  21. for ($i =0; $i < count($users);$i++){
  22. $table .= '<tr>';
  23. $table .= '<td>'.$users[$i]['id'].'</td>';
  24. $table .= '<td>'.$users[$i]['name'].'</td>';
  25. $table .= '<td>'.$users[$i]['age'].'</td>';
  26. $table .= '</tr>';
  27. }
  28. $table .= '</table>';
  29. echo $table.'<hr>';
  30. ?>
  31. <table cellspacing="0" cellpadding="0" width="600px">
  32. <?php for ($i =0; $i < count($users);$i++): ?>
  33. <tr>
  34. <td><?php $users[$i]['id'] ?></td>
  35. <td><?php $users[$i]['name'] ?></td>
  36. <td><?php $users[$i]['age'] ?></td>
  37. </tr>
  38. <?php endfor; echo $table;?>
  39. </table>
  40. </body>
  41. </html>


學(xué)習(xí)總結(jié)

1.操作符

  • 算術(shù)運(yùn)算符:
例子 名稱 結(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ù)。

  • 位運(yùn)算符 :
例子 名稱 結(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,反之亦然。
  • 比較運(yùn)算符 :
例子 名稱 結(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。
  • 遞增/遞減運(yùn)算符 :
例子 名稱 效果
++$a 前加 $a 的值加一,然后返回 $a。
$a++ 后加 返回 $a,然后將 $a 的值加一。
—$a 前減 $a 的值減一, 然后返回 $a。
$a— 后減 返回 $a,然后將 $a 的值減一。
  • 邏輯運(yùn)算符 :
例子 名稱 效果
$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。

2.分支控制

  • if單分支
  1. if(條件){
  2. 輸出結(jié)果
  3. }
  4. 單分支可以省略大括號(hào)
  5. if(條件)輸出結(jié)果;
  6. 模板語(yǔ)法:
  7. if(條件):輸出結(jié)果; endif;
  • if雙分支
  1. if(條件){
  2. 輸出結(jié)果
  3. }else{
  4. 輸出結(jié)果
  5. }
  6. 模板語(yǔ)法:
  7. if(條件):
  8. 輸出結(jié)果
  9. else:
  10. 輸出結(jié)果
  11. endif;
  • if多分支
  1. if(條件){
  2. 輸出結(jié)果
  3. }elseif{
  4. 輸出結(jié)果
  5. }elseif{
  6. 輸出結(jié)果
  7. }else{
  8. 輸出結(jié)果
  9. }
  10. 模板語(yǔ)法:
  11. if(條件):
  12. 輸出結(jié)果
  13. elseif:
  14. 輸出結(jié)果
  15. elseif:
  16. 輸出結(jié)果
  17. else:
  18. 輸出結(jié)果
  19. endif;
  • switch 判斷單值
  1. switch(true){
  2. case (條件):
  3. 輸出結(jié)果;
  4. break;
  5. case (條件):
  6. 輸出結(jié)果;
  7. break;
  8. case (條件):
  9. 輸出結(jié)果;
  10. break;
  11. default:
  12. 輸出結(jié)果;
  13. }
  14. 模板語(yǔ)法:
  15. switch(true):
  16. case (條件):
  17. 輸出結(jié)果;
  18. break;
  19. case (條件):
  20. 輸出結(jié)果;
  21. break;
  22. case (條件):
  23. 輸出結(jié)果;
  24. break;
  25. default:
  26. 輸出結(jié)果;
  27. endswitch;

3、判斷循環(huán)和數(shù)組遍歷

  • while 入口判斷循環(huán)
  1. 變量 = ['a','n','b'];
  2. while(變量 = current(變量)){
  3. //current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針
  4. 條件為真時(shí)執(zhí)行結(jié)果
  5. next(變量);//指針下移
  6. }
  7. 模板語(yǔ)法:
  8. while(變量 = current(變量)):
  9. //current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針
  10. 條件為真時(shí)執(zhí)行結(jié)果
  11. next(變量);//指針下移
  12. endwhile;
  • do while 出口判斷循環(huán)
  1. 變量 = ['a','n','b'];
  2. do{
  3. //直接輸出結(jié)果
  4. next(變量);//指針下移
  5. }while(變量 = current(變量));
  6. do while沒(méi)有模板語(yǔ)法
  • for遍歷數(shù)組
  1. $array=['a','b','c'];
  2. for($i = 0;$i < count($array);$i++){
  3. echo '輸出結(jié)果$array[$i]';
  4. }
  5. 模板語(yǔ)法:
  6. $array=['a','b','c'];
  7. for($i = 0;$i < count($array);$i++):
  8. echo '輸出結(jié)果$array[$i]';
  9. endfor;
批改老師:GuanhuiGuanhui

批改狀態(tài):合格

老師批語(yǔ):完成的很好!有碼有圖。
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)