PHP流程控制

本文是復(fù)習(xí)所寫辙浑,并不會涵蓋一些基礎(chǔ)知識點

if elseif else

while

do-while

for

foreach

break

可以接受一個數(shù)字參數(shù),指定跳出幾重循環(huán)缭贡,默認(rèn)是1

continue

在循環(huán)結(jié)構(gòu)中痢毒,跳過循環(huán)體剩余代碼的執(zhí)行嫉你,同樣可以接受一個數(shù)字參數(shù)九孩,指定跳過幾層循環(huán)名段,默認(rèn)是1

switch

match PHP 8

<?php
$a = 'cake';
$value = match($a) {
    'apple' => 'This food is an apple',
    'bar' => 'This food is a bar',
    'cake' => 'This food is a cake',
}
var_dump($value);

declare

用來設(shè)定一段代碼的執(zhí)行指令

<?php
declare(ticks=1); // 方式一
 
// 方式二
declare(ticks=1) {
    // ...
}
  1. Ticks

    Tick(時鐘周期)是一個在 declare 代碼段中解釋器每執(zhí)行 N 條可計時的低級語句就會發(fā)生的事件

    <?php
    declare(ticks=1);
     
    function tickHandler()
    {
        echo 'called!' . PHP_EOL;
    }
     
    register_tick_function('tickHandler'); // 注冊事件阱扬,引起tick事件
     
    $a = 1; // 引起tick事件
    if ($a>0) {
        $a += 2; // 引起tick事件
    }
     
    unregister_tick_function('tickHandler'); // 取消事件
    
  2. Encoding

    用來指定腳本的編碼方式

    <?php
    declare(encoding='ISO-8895-1')l;
    
  3. strict_types

    嚴(yán)格模式,開啟之后會校驗參數(shù)類型伸辟,不會進(jìn)行默認(rèn)轉(zhuǎn)換

    <?php
    declare(strict_types=1); // 開啟嚴(yán)格模式
    

return

如果當(dāng)前文件是被include或require的麻惶,則控制交回調(diào)用文件

如果當(dāng)前文件是被include的,則return值會被當(dāng)做incloude調(diào)用的返回值

require

出錯時產(chǎn)生E_COMPILB_ERROR信夫,導(dǎo)致腳本終止

include

出錯時只產(chǎn)生警告窃蹋,腳本會繼續(xù)執(zhí)行

require_once

include_once

goto

只能在同一個文件或左右域內(nèi)卡啰,也就是無法跳出一個函數(shù)或類方法

<?php
start:
 
echo 'aaa';
 
goto start;

流程控制的代替語法

這種替代語法主要是用在與html混編的時候更方便和更好的可讀性

<?php if($a==1): ?>
<p>One</p>
<?php elseif($a==2): ?>
<p>Two</p>
<?php else: ?>
<p>Three</p>
<?php endif; ?>

<?php while(true): ?>
<p>Four</p>
<?php endwhile; ?>

<?php for($i=0; $i<3; $i++): ?>
<p>Five</p>
<?php endfor; ?>

<?php foreach($a as $k=>$v): ?>
<p>Six</p>
<?php endforeach; ?>

<?php switch($a): ?>
<?php case 'a': ?>
<p>Seven</p>
<?php default: ?>
<p>Eight</p>
<?php endswitch; ?>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市警没,隨后出現(xiàn)的幾起案子匈辱,更是在濱河造成了極大的恐慌,老刑警劉巖杀迹,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亡脸,死亡現(xiàn)場離奇詭異,居然都是意外死亡树酪,警方通過查閱死者的電腦和手機(jī)浅碾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嗅回,“玉大人及穗,你說我怎么就攤上這事∶嘣兀” “怎么了埂陆?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長娃豹。 經(jīng)常有香客問我焚虱,道長,這世上最難降的妖魔是什么懂版? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任鹃栽,我火速辦了婚禮,結(jié)果婚禮上躯畴,老公的妹妹穿的比我還像新娘民鼓。我一直安慰自己,他們只是感情好蓬抄,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布丰嘉。 她就那樣靜靜地躺著,像睡著了一般嚷缭。 火紅的嫁衣襯著肌膚如雪饮亏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天阅爽,我揣著相機(jī)與錄音路幸,去河邊找鬼。 笑死付翁,一個胖子當(dāng)著我的面吹牛简肴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播百侧,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼砰识,長吁一口氣:“原來是場噩夢啊……” “哼杂伟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仍翰,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎观话,沒想到半個月后予借,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡频蛔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年灵迫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晦溪。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡瀑粥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出三圆,到底是詐尸還是另有隱情狞换,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布舟肉,位于F島的核電站修噪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏路媚。R本人自食惡果不足惜黄琼,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望整慎。 院中可真熱鬧脏款,春花似錦、人聲如沸裤园。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽比然。三九已至丈氓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間强法,已是汗流浹背万俗。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留饮怯,地道東北人闰歪。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像蓖墅,于是被迫代替她去往敵國和親库倘。 傳聞我的和親對象是個殘疾皇子临扮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容