ホームページ  >  記事  >  バックエンド開発  >  php eachとlistの使い方の違いの例

php eachとlistの使い方の違いの例

伊谢尔伦
伊谢尔伦オリジナル
2017-06-23 11:29:071208ブラウズ

主に PHP でのそれぞれと list の使い方を紹介し、それぞれと list関数の使用スキルを例の形で分析し、それぞれのスキルを list 関数と組み合わせて配列トラバーサルを実装するためのスキルを分析します。

1. each の使用法

まず API を見てみましょう

array each (array &$array)

API は次のように説明されています: each - 現在のキーと値のペアを返します配列内で配列ポインタを前方に移動します。一歩

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

<?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 eachとlistの使い方の違いの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。