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...