ループメソッド: 1. for ステートメントを使用して配列を走査します。 2. foreach() ステートメントを使用して配列を走査します。 3. while ステートメントを list() および each() 関数とともに使用して、配列を走査する; 4. while ステートメントを使用する key()、current()、next() およびその他のポインター関数を使用して配列を走査します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
1. for ループを使用して配列を走査します
conut($arr);
は配列要素の数をカウントするために使用されます。
for ループは、純粋なインデックス配列を走査するためにのみ使用できます。 ! ! !
連想配列がある場合、カウント統計中に 2 つの配列の合計数がカウントされ、混合配列を走査するために for ループが使用され、配列が範囲外になります。 !
例:
$arr = array(1,2,3,5,6,7); $num = count($arr); //count最好放到for外面,可以让函数只执行一次 echo "数组元素的个数{$num}<br/>"; for($i=0;$i<$num;$i++){ echo "{$i}==>{$arr[$i]}<br/>"; }
2. 配列を介した forEach ループ
foreach はあらゆるタイプの配列を走査できます。 ! !
例:
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
たとえば、次の配列を解析します:
$h51701 = array( "group1"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group2"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group3"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ) ); foreach ($h51701 as $key => $value) { echo "{$key}<br><br>"; foreach ($value as $key1 => $value1) { echo "第".($key1+1)."个同学<br>"; foreach ($value1 as $key2 => $value2) { echo "{$key2}==>{$value2}<br>"; } echo "<br>"; } echo "------------------------<br>"; }
3. list()、each()、while() を使用して配列を走査します
(キーポイント) list(): 配列の各値を list 関数の各パラメータに割り当てるために使用されます。 (リスト関数のパラメータは、配列内の要素の数以下である必要があります);
注:
① list() が配列を解析するとき、それは配列のみを解析します。インデックス配列;
② リストは、空のパラメータを通じて配列の値を選択的に解析できます;
(キーポイント) each(): 現在のポインタが存在するキーと値のペアを返すために使用されます。配列が見つかりました!そして、ポインタを 1 桁戻します;
戻り値: ポインタに次の桁がある場合は、配列を返します。インデックス配列 (0 キー、1 値) と連想配列 (「キー」キー、「値」値) が含まれます。ポインタに次の桁がない場合は false を返します。##
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr);
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
while(true){ $a = each($arr); if($a){ echo "{$a[0]}-->{$a[1]}<br>"; echo "{$a['key']}-->{$a['value']}<br>"; }else{ break; } }
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr); while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; }
4. 配列ポインタを使用して走査します配列
① next: 配列ポインタを 1 つ後ろに移動します。 false が返されない場合は次の桁の値を返します。 ② prev: 配列ポインタを 1 桁進めます。そして、前の桁の値を返します; false
## を返します# ④reset: 配列ポインタを最初の位置に戻します。最初の値を返します; 空の配列は false を返します
⑤ key: 現在のポインタが存在するキーを返します;
⑥ current: 現在のポインタが存在する値を返します;
$arr = [1,2,3,4,"one"=>5]; while(true){ echo key($arr); echo "--"; echo current($arr); echo "<br>"; if(!next($arr)){ break; } } reset($arr);//第二种方式: do{ echo key($arr); echo "--"; echo current($arr); echo "<br>"; }while(next($arr)); reset($arr);
推奨学習: 「
PHP ビデオ チュートリアル」
以上がPHPで配列をループするいくつかの方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。