日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP基礎之流程控制4——for/foreach

瀏覽:19日期:2022-09-14 15:25:34
for

(PHP 4, PHP 5)

for?循環(huán)是 PHP 中最復雜的循環(huán)結構。它的行為和 C 語言的相似。?for?循環(huán)的語法是:

for (expr1; expr2; expr3) statement

第一個表達式(expr1)在循環(huán)開始前無條件求值(并執(zhí)行)一次。

expr2?在每次循環(huán)開始前求值。如果值為?TRUE,則繼續(xù)循環(huán),執(zhí)行嵌套的循環(huán)語句。如果值為?FALSE,則終止循環(huán)。

expr3?在每次循環(huán)之后被求值(并執(zhí)行)。

每個表達式都可以為空或包括逗號分隔的多個表達式。表達式?expr2?中,所有用逗號分隔的表達式都會計算,但只取最后一個結果。expr2?為空意味著將無限循環(huán)下去(和 C 一樣,PHP 暗中認為其值為?TRUE)。這可能不像想象中那樣沒有用,因為經常會希望用有條件的?break?語句來結束循環(huán)而不是用?for?的表達式真值判斷。

考慮以下的例子,它們都顯示數(shù)字 1 到 10:

<?php/*?example?1?*/for?($i?=?1;?$i?<=?10;?$i++)?{????echo?$i;}/*?example?2?*/for?($i?=?1;?;?$i++)?{????if?($i?>?10)?{????????break;????}????echo?$i;}/*?example?3?*/$i?=?1;for?(;;)?{????if?($i?>?10)?{????????break;????}????echo?$i;????$i++;}/*?example?4?*/for?($i?=?1,?$j?=?0;?$i?<=?10;?$j?+=?$i,?print?$i,?$i++);?>

當然,第一個例子看上去最簡潔(或者有人認為是第四個),但用戶可能會發(fā)現(xiàn)在?for?循環(huán)中用空的表達式在很多場合下會很方便。

PHP 也支持用冒號的?for?循環(huán)的替代語法。

for (expr1; expr2; expr3): statement; ...endfor;

有時經常需要像下面這樣例子一樣對數(shù)組進行遍歷:

<?php/*?*?此數(shù)組將在遍歷的過程中改變其中某些單元的值?*/$people?=?Array(????????Array(’name’?=>?’Kalle’,?’salt’?=>?856412),?????????Array(’name’?=>?’Pierre’,?’salt’?=>?215863)????????);for($i?=?0;?$i?<?sizeof($people);?++$i){????$people[$i][’salt’]?=?rand(000000,?999999);}?>

以上代碼可能執(zhí)行很慢,因為每次循環(huán)時都要計算一遍數(shù)組的長度。由于數(shù)組的長度始終不變,可以用一個中間變量來儲存數(shù)組長度以優(yōu)化而不是不停調用?count():

<?php$people?=?Array(????????Array(’name’?=>?’Kalle’,?’salt’?=>?856412),?????????Array(’name’?=>?’Pierre’,?’salt’?=>?215863)????????);for($i?=?0,?$size?=?sizeof($people);?$i?<?$size;?++$i){????$people[$i][’salt’]?=?rand(000000,?999999);}?>foreach

(PHP 4, PHP 5)

foreach?語法結構提供了遍歷數(shù)組的簡單方式。foreach?僅能夠應用于數(shù)組和對象,如果嘗試應用于其他數(shù)據類型的變量,或者未初始化的變量將發(fā)出錯誤信息。有兩種語法:

foreach (array_expression as $value) statementforeach (array_expression as $key => $value) statement

第一種格式遍歷給定的?array_expression?數(shù)組。每次循環(huán)中,當前單元的值被賦給?$value?并且數(shù)組內部的指針向前移一步(因此下一次循環(huán)中將會得到下一個單元)。

第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環(huán)中被賦給變量?$key。

還能夠自定義遍歷對象。

Note:

當?foreach?開始執(zhí)行時,數(shù)組內部的指針會自動指向第一個單元。這意味著不需要在?foreach?循環(huán)之前調用?reset()。

由于?foreach?依賴內部數(shù)組指針,在循環(huán)中修改其值將可能導致意外的行為。

可以很容易地通過在?$value?之前加上 & 來修改數(shù)組的元素。此方法將以引用賦值而不是拷貝一個值。

<?php$arr?=?array(1,?2,?3,?4);foreach?($arr?as?&$value)?{????$value?=?$value?*?2;}//?$arr?is?now?array(2,?4,?6,?8)unset($value);?//?最后取消掉引用?>

$value?的引用僅在被遍歷的數(shù)組可以被引用時才可用(例如是個變量)。以下代碼則無法運行:

<?phpforeach?(array(1,?2,?3,?4)?as?&$value)?{????$value?=?$value?*?2;}?>Warning數(shù)組最后一個元素的?$value?引用在?foreach?循環(huán)之后仍會保留。建議使用?unset()?來將其銷毀。

Note:

foreach?不支持用“@”來抑制錯誤信息的能力。

用戶可能注意到了以下的代碼功能完全相同:

<?php$arr?=?array('one',?'two',?'three');reset($arr);while?(list(,?$value)?=?each($arr))?{????echo?'Value:?$value<br>n';}foreach?($arr?as?$value)?{????echo?'Value:?$value<br?/>n';}?>

以下代碼功能也完全相同:

<?php$arr?=?array('one',?'two',?'three');reset($arr);while?(list($key,?$value)?=?each($arr))?{????echo?'Key:?$key;?Value:?$value<br?/>n';}foreach?($arr?as?$key?=>?$value)?{????echo?'Key:?$key;?Value:?$value<br?/>n';}?>

示范用法的更多例子:

<?php/*?foreach?example?1:?value?only?*/$a?=?array(1,?2,?3,?17);foreach?($a?as?$v)?{???echo?'Current?value?of?$a:?$v.n';}/*?foreach?example?2:?value?(with?its?manual?access?notation?printed?for?illustration)?*/$a?=?array(1,?2,?3,?17);$i?=?0;?/*?for?illustrative?purposes?only?*/foreach?($a?as?$v)?{????echo?'$a[$i]?=>?$v.n';????$i++;}/*?foreach?example?3:?key?and?value?*/$a?=?array(????'one'?=>?1,????'two'?=>?2,????'three'?=>?3,????'seventeen'?=>?17);foreach?($a?as?$k?=>?$v)?{????echo?'$a[$k]?=>?$v.n';}/*?foreach?example?4:?multi-dimensional?arrays?*/$a?=?array();$a[0][0]?=?'a';$a[0][1]?=?'b';$a[1][0]?=?'y';$a[1][1]?=?'z';foreach?($a?as?$v1)?{????foreach?($v1?as?$v2)?{????????echo?'$v2n';????}}/*?foreach?example?5:?dynamic?arrays?*/foreach?(array(1,?2,?3,?4,?5)?as?$v)?{????echo?'$vn';}?>用 list() 給嵌套的數(shù)組解包

(PHP 5 >= 5.5.0)

PHP 5.5 增添了遍歷一個數(shù)組的數(shù)組的功能并且把嵌套的數(shù)組解包到循環(huán)變量中,只需將?list()?作為值提供。

例如:

<?php$array?=?[????[1,?2],????[3,?4],];foreach?($array?as?list($a,?$b))?{????//?$a?contains?the?first?element?of?the?nested?array,????//?and?$b?contains?the?second?element.????echo?'A:?$a;?B:?$bn';}?>

以上例程會輸出:

A: 1; B: 2A: 3; B: 4

list()?中的單元可以少于嵌套數(shù)組的,此時多出來的數(shù)組單元將被忽略:

<?php$array?=?[????[1,?2],????[3,?4],];foreach?($array?as?list($a))?{????//?Note?that?there?is?no?$b?here.????echo?'$an';}?>

以上例程會輸出:

13

如果?list()?中列出的單元多于嵌套數(shù)組則會發(fā)出一條消息級別的錯誤信息:

<?php$array?=?[????[1,?2],????[3,?4],];foreach?($array?as?list($a,?$b,?$c))?{????echo?'A:?$a;?B:?$b;?C:?$cn';}?>

以上例程會輸出:

Notice: Undefined offset: 2 in example.php on line 7A: 1; B: 2; C: Notice: Undefined offset: 2 in example.php on line 7A: 3; B: 4; C:

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美女国产精品久久久| 国产精品久久久久久久久久久久久久久 | 亚洲欧美久久久| 欧美日韩精品一本二本三本| 日本а中文在线天堂| 国产在线不卡一区二区三区 | 免费亚洲婷婷| 97久久中文字幕| 97久久中文字幕| 精品一区二区三区的国产在线观看| 久久精品国产亚洲aⅴ| 久久电影tv| 91精品国产成人观看| 色偷偷偷在线视频播放| 婷婷综合社区| 日韩欧美美女在线观看| 精品视频久久| 99香蕉国产精品偷在线观看| 一区二区三区午夜视频| 亚洲高清影视| 日韩一区欧美二区| 日韩欧美美女在线观看| 国产精品红桃| 久久久久久久久久久9不雅视频| 欧美1级日本1级| 青青在线精品| 久久久人人人| 首页国产欧美日韩丝袜| 亚洲精品精选| 中文字幕一区久| 成人免费网站www网站高清| 97精品一区二区| 成人高清一区| 久久福利一区| 国产一区二区三区四区二区| 极品日韩av| 国产精品久久久网站| 国产综合色产| 欧美精品不卡| 久久国产66| 久久九九国产| 国产精品115| 日韩精品一区二区三区中文在线| 免费在线亚洲| 日本在线成人| 国产一级一区二区| 欧美日韩国产一区二区三区不卡| 免费看久久久| 国产精品久久乐| 日韩久久视频| 久久大逼视频| 国产综合精品| 久久九九国产| 久久久成人网| 久久天堂av| 丁香六月综合| 日本一二区不卡| 精品亚洲免a| 四虎精品一区二区免费| 天堂av在线一区| 国产一级久久| 日韩一区精品字幕| 亚洲一区日韩| 视频一区在线视频| 亚洲激情偷拍| 免费视频一区二区| 中文字幕av一区二区三区四区| 亚洲自啪免费| 日韩欧美中文在线观看| 久久国产精品免费一区二区三区| 91精品日本| 久久97久久97精品免视看秋霞| 欧美天堂一区| 日韩极品在线观看| 国产欧美日韩精品一区二区三区| 国产伦理一区| 日本在线高清| 日韩视频一区| 日本少妇精品亚洲第一区| 国产亚洲观看| 久久伊人国产| 在线一区av| 日韩欧美精品| 欧美午夜精彩| 鲁大师成人一区二区三区| 视频一区中文字幕精品 | 国产精品国产三级国产在线观看| 97精品视频在线看| 日韩亚洲在线| 免费视频一区二区三区在线观看| 久久久久美女| 日本a口亚洲| 久久中文字幕二区| 日韩和欧美的一区| 成人日韩精品| 日韩av不卡一区二区| 91精品国产乱码久久久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 69堂免费精品视频在线播放| 成人美女视频| 蜜桃免费网站一区二区三区| 欧美激情视频一区二区三区在线播放| 亚洲91视频| 国产一区二区三区免费在线| 蜜臀久久99精品久久久久久9| 国产精品成人一区二区不卡| 亚洲精品观看| 久久中文字幕导航| 天堂俺去俺来也www久久婷婷| 视频福利一区| 色爱综合网欧美| 国产精品伦一区二区| 亚洲永久精品唐人导航网址| 国产一区二区久久久久| 日本综合精品一区| 欧美日韩色图| 欧美黄色一区| 国产欧美欧美| 亚州av日韩av| 亚洲精品三级| 丝袜a∨在线一区二区三区不卡| 国产综合婷婷| 蜜臀av免费一区二区三区| 色偷偷偷在线视频播放| 欧美日本不卡高清| 在线精品视频在线观看高清| 日韩在线观看不卡| 鲁鲁在线中文| 精品久久久中文字幕| 欧美成人综合| 伊人久久在线| 成人在线视频免费看| 精品视频高潮| yellow在线观看网址| 久久超碰99| 黄色欧美在线| 国产综合色区在线观看| 亚洲电影有码| 老牛国产精品一区的观看方式| 三级欧美在线一区| 亚洲精品在线国产| 国产麻豆一区二区三区| 久久99视频| 日韩中文影院| 亚洲少妇在线| 91精品啪在线观看国产爱臀| 91欧美极品| 日韩精品2区| 久久国产精品毛片| 日本欧美在线| 久久精品国产免费| 亚洲黄色影院| 大香伊人久久精品一区二区| 水蜜桃精品av一区二区| 国产综合激情| 亚洲精品影院在线观看| 久久精品免费看| 午夜国产欧美理论在线播放 | 成人在线免费观看网站| 国产va免费精品观看精品视频| 欧美羞羞视频| 日韩精品中文字幕吗一区二区 | 免费精品国产的网站免费观看| 亚洲欧美久久精品| 久久国产精品99国产| 亚洲一二三区视频| 日本久久综合| 香蕉久久久久久| 成人久久久久| 国产午夜久久av| 欧美日韩国产一区精品一区| 亚洲精品日本| 激情五月色综合国产精品| 国产精品极品国产中出| 不卡中文一二三区| 成人国产精品一区二区免费麻豆| 日本大胆欧美人术艺术动态| 免费高潮视频95在线观看网站| 日本亚洲欧美天堂免费| 蜜桃成人av| 欧美日韩免费观看视频| 国产精品nxnn| 青草国产精品| 免费久久精品视频| 亚洲欧美综合| 91精品推荐| 欧美日韩免费观看视频| 美女视频一区在线观看| 日本成人一区二区| 中文字幕av一区二区三区人| 蜜乳av另类精品一区二区| 久久九九精品| 亚洲手机在线| 亚洲精品2区| 好看的av在线不卡观看| 91精品综合| 国产国产精品| 中文一区二区| 亚洲免费毛片| 欧美一区精品|