php基礎 22 for while迴圈遍歷陣列

2021-10-09 10:26:01 字數 1795 閱讀 3550

for、while迴圈遍歷陣列

for迴圈:基於已知邊界條件(包含起始和結束)然後有規律有條件的變化

for迴圈遍歷陣列對應條件:

1、獲取陣列長度:count(陣列)得到陣列元素的長度

2、要求陣列元素的下標是規律的數字

<?php

$arr = array(1,2,3,4,5,6,7,10);

for($i = 0,$len = count($arr);$i<$len;$i++)

//$i = 0;$len = count($arr);

//while($i<$len)

//

?>

while迴圈配合each和list遍歷陣列

each函式:each能夠從乙個陣列中獲取當前陣列指標所指向的元素的下標和值,拿到之後將陣列指標下移,同時將拿到的元素下標和值以乙個四個元素的陣列返回:【each函式將在自 php 7.2.0 起廢棄。強烈建議不要使用本函式。了解即可】

[1] => 取得元素的值

[value] => 取得元素的值

[0]=> 取得元素的下標值

[key] => 取得元素的下標值

<?php

$arr = array(2,'***' => 'male');

print_r(each($arr));

print_r(each($arr));

var_dump(each($arr));

?>

---------- 編譯結果 ----------

array

( [1] => 2

[value] => 2

[0] => 0

[key] => 0

)array

( [1] => male

[value] => male

[0] => ***

[key] => ***

)bool(false)

如果each取不到結果(陣列指標移動到最後),返回false

list函式:list是一種結構,不是一種函式(沒有返回值),是lisr提供一堆變數,去從乙個陣列中取得元素值,然後依次存放到對應的變數當中(批量為變數賦值:值**於陣列)

list必須從索引陣列中去獲取資料,而且必須從0開始

<?php

$arr = array(1,2 => 1); 編譯結果:int(1)

list($first) = $arr;

var_dump($first);

?>

list與erch配合特別好:each一定有兩個元素就是0和1下標元素

list(變數1,變數2)=each(陣列);  //是一種賦值運算,但是可以得到false結果(each取不到正確的結果),整個表示式為false

<?php

$arr = array(1,'name' => 'tom',3,'age' => 30);

while(list($key,$value)=each($arr))

?>

---------- 編譯結果 ----------

key is:0 value is 1

key is:name value is tom

key is:1 value is 3

key is:age value is 30

六 PHP迴圈之 for while迴圈

描述 迴圈就是自動執行某段 迴圈執行。語法 for 變數初始化 條件表示式 變數變化 變數初始化 迴圈的開始,給乙個開始迴圈的變數。如 i 1 條件表示式 必須給迴圈乙個可以退出的條件,否則就是死迴圈。i 10 變數變化 讓初始化的值發生改變,一直的達到條件為止。i 示例 輸出從1到100的數 如果...

L22陣列基礎

陣列是相同型別的變數的有序集合 陣列名代表陣列首元素的位址 int a 5 a和 a的值相同,但是含義有區別 a代表陣列首元素位址 a表示陣列的位址 陣列名可以看做乙個常量指標 在表示式中陣列名只能作為右值使用 只有在下列場合中陣列名不能看做常量指標 陣列名作為sizeof操作符的引數 陣列名作為 ...

Python基礎 22新式類

1 工廠函式 由於型別和類的統一,因而可以子類化python資料型別。但是所有的python 內建的轉換函式現在都是工廠函式。當這些函式被呼叫時,你實際上是對相應的型別進行例項化。比如下面的函式都已經成為工廠函式 int long float complex str unicode list tup...