PHP での each 関数と list 関数の使用に関するヒント

墨辰丷
リリース: 2023-03-29 19:48:01
オリジナル
1529 人が閲覧しました

この記事では主にPHPの各関数とリスト関数の使い方を紹介しますので、興味のある方は参考にしていただければ幸いです。

1. each の使用法

まず API を見てみましょう

array each (array &$array)

API は次のように記述されています: each - 現在のキーと値のペアを返します。配列と配列ポインターが 1 ステップ進みます

まず、返された配列がどのようなものかを見てみましょう。

<?php 
$arr = array(&#39;你&#39;,&#39;若&#39;,&#39;安&#39;,&#39;好&#39;,&#39;便&#39;,&#39;是&#39;,&#39;晴&#39;,&#39;天&#39;);
print_r(each($arr));
print_r(each($arr));
echo &#39;<hr />&#39;;
/*
返回
Array
(
  [1] => 你
  [value] => 你
  [0] => 0
  [key] => 0
)
Array
(
  [1] => 若
  [value] => 若
  [0] => 1
  [key] => 1
)
*/
//执行相同的一段代码,从‘你&#39;到‘若&#39;,说明each是会每执行一次,游标向数组尾部移动一步
//0和Key存放的是键
//1和value存放的是值
//因此each满足遍历数组的,得到当前的键和值,以及每执行一次,向尾部移动一步游标
//因此循环数组也可以用each这么写
reset($arr);
for(;$tmp=each($arr);){
  echo $tmp[0],&#39;~&#39;,$tmp[1],&#39;<br />&#39;;
}
/*
返回
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>
ログイン後にコピー

2. list の使い方

まず API の内容を見てみましょう

array() と同様、これは実際の関数ではなく、言語構造です。 list() は、1 つのステップで一連の変数に値を割り当てます

例を見てみましょう:

<?php 
list($a,$b)=array(10,20);
echo $a,&#39;~&#39;,$b,&#39;<br />&#39;;
//返回10~20
?>
ログイン後にコピー

はい、一連の変数に値を割り当てることができます

別の例を見てみましょう:

<?php 
list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40);
echo $a,&#39;~&#39;,$b,&#39;~&#39;,$c,&#39;<br />&#39;;
//返回notice~40~20
//执行到$a的时候返回给我一个notice:说数组没有0键
?>
ログイン後にコピー

一般的な考え方によれば、次の値が返されるはずです: 10~20~40

なぜこの通知ですか〜40〜20はどうですか?

答え: これにはリストの操作メカニズムが関係します。これがリストの割り当て方法です。

まず第一に、右側の配列を無視して、リスト内の変数を左から右に見てください。 = arr[0] $b=arr [1] $c=arr[3]

次に: 右から左に値の割り当てを開始します。割り当ての順序は $c=arr[3] $b=arr[ 1] $a=arr[0]

So$ c=20 $b = 40 arr[0]がないので$aは警告を出します

3. eachとlistを使って配列トラバーサルを実装します

<?php 
$arr = array(&#39;你&#39;,&#39;若&#39;,&#39;安&#39;,&#39;好&#39;,&#39;便&#39;,&#39;是&#39;,&#39;晴&#39;,&#39;天&#39;);
for(;list($k,$v)=each($arr);){
  echo $k,&#39;~&#39;,$v,&#39;<br />&#39;;
}
/*
return:
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>
ログイン後にコピー

概要: この記事は以上です。記事の内容全体が皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHPセッションセッション処理関数の例の詳細な説明

PHPでプロセス制御スイッチを実装する簡単な方法

短縮URL生成メソッドのPHP実装のまとめ

以上がPHP での each 関数と list 関数の使用に関するヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート