ホームページ >バックエンド開発 >PHPチュートリアル >PHP での list()、each()、reset() 関数の使用

PHP での list()、each()、reset() 関数の使用

WBOY
WBOYオリジナル
2016-06-13 13:02:48937ブラウズ

PHP における list()、each()、reset() 関数の応用 Reprint

1.リスト関数

リスト関数は、配列内の値をいくつかの変数に割り当てます。構文は次のとおりです:

void list (混合 $varname, 混合 $varname...)

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

?????????注: list() は数値インデックス付きの配列でのみ機能し、数値インデックスが 0 から始まることを前提としています。

例 1. list()

コード:

$arr=array(1,2,3);
list($a,$b,$c)=$arr;
echo "$aは $a、
$b は $b、
$c は $c です。
";
?>

は次のように表示されます:

$a は 1、
$b は 2、
$c は 3 です。????????????
リスト関数の添字は数値であり、0 から始まる必要があることに注意してください。

2.各機能とリセット機能

each 関数は、配列内の現在のキーと値のペアを返し、以下で詳しく説明するように、配列ポインターを 1 ステップ前に移動します。

関数の構文:

配列 それぞれ ( 配列 &$array )

array 配列内の現在のポインター位置のキーと値のペアを返し、配列ポインターを前方に移動します。キーと値のペアは、key

という 4 つの要素の配列として返されます。

の値は、01key、および value です。セル 0key には配列セルのキー名が含まれ、1value にはデータが含まれます。

内の場合

ポインターが配列の末尾を横切ると、each()FALSE を返します。各関数に以下の 4 つのテーブルがあるのはなぜですか?実際には、それぞれの文字

カウントによって得られた 4 つの添字は、便宜上、0 と 1 をインデックスとして使用したり、キーと値をインデックスとして使用したりすることができます。

例 2: 各例

コード:

$arr=array("私は最初の値です", "私は 2 番目の値です", "私は 3 番目の値です");
echo "インデックスとして 0,1 を使用します:

";
$a=each($arr);
echo "$arr 配列内の私の位置は次のとおりです: ".$ a['0'];
echo "
";
echo "$arr 配列の値は次のとおりです: ".$a['1'];
echo "< ;br/>gt;
";
echo "キーと値をインデックスとして使用する場合:
gt;
";
$b=each($ arr);
echo "$arr 配列内の私の位置は次のとおりです: ".$b['key'];
echo "
";
echo "???? $arr 配列の値は: ".$b['value'];
?>

は次のように表示されます:

インデックスとして 0,1 を使用する場合:
$arr 配列内の私の位置は 0
$arr 配列内の私の値は次のとおりです: 私は最初の値です
キーと値をインデックスとして使用します:
$arr 配列内の私の位置は 1
$arr 配列内の私の値は次のとおりです: 私は 2 番目の値です

次の例のように、 each 関数と list 関数を組み合わせて 配列を走査することもできます。

例 3:

$fruit = array('a' => 'リンゴ', 'b' => 'バナナ', 'c' => 'クランベリー');
reset($fruit);
while (list($key, $val) = each($fruit)) {
???? echo "$key => $valn";
}
?>
は、

として表示されます。

a => リンゴ b => バナナ c =>

ここで、 リスト関数の添字は数値でなければならず、0 から開始する必要があることに注意することが重要です。

のリセット機能の説明:

each() を実行した後、配列ポインターは配列内の次のセルに留まるか、配列の終わりに達すると最後のセルに留まります。それぞれを使用して配列を再度走査する場合は、 reset() を使用する必要があります。 配列を初めて走査する場合は、必要ありません。

リセット機能について詳しく説明します:

reset は、配列の内部ポインタを最初のユニットにポイントすることです。構文は次のとおりです。

混合 リセット ( array &$array )

reset() は、array の内部ポインタを最初の要素に巻き戻し、最初の配列要素の値を返します。配列が空の場合は 誤り

上記の例 2 と次の例を比較するとわかりやすいでしょう。 。 。 、

コード:

$arr=array("私は最初の値です", "私は 2 番目の値です", "私は 3 番目の値です");
echo "インデックスとして 0,1 を使用します:

";
$a=each($arr);
echo "$arr 配列内の私の位置は次のとおりです: ".$ a['0'];
echo "
";
echo "???? $arr 配列の値は次のとおりです: ".$a[' 1'];
echo "

";
echo "キーと値をインデックスとして使用する場合:

";
reset( $arr);
$b=each($arr);
echo "$arr 配列内の私の位置は次のとおりです: ".$b['key'];
echo "
echo "???? $arr 配列の値は次のとおりです: ".$b['value'];
?>

は次のように表示されます:

インデックスとして 0,1 を使用する場合:
$arr 配列内の私の位置は 0
$arr 配列内の私の値は次のとおりです: 私は最初の値です

キー、値をインデックスとして使用する場合:

$arr 配列内の私の位置は 0
$arr 配列内の私の値は次のとおりです: 私は最初の
value of ??????
//例 2 のこの行の表示に注目してください。

?

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