ホームページ  >  記事  >  php教程  >  配列と配列トラバーサル

配列と配列トラバーサル

WBOY
WBOYオリジナル
2016-08-22 10:14:221272ブラウズ

私はしばらく PHP を勉強してきましたが、まだよく理解できません。今は配列と配列の走査を整理しています。

基本から始めましょう:

PHPの配列はインデックス配列リレーショナル配列,

に分かれています

インデックス配列は添字が0、1、2、3、4...から始まることを意味しますが、リレーショナル配列はそうではなく、キー付きであると理解されます(キーがキーです)

配列の書き込みを開始します:

リーリー

もちろん、次のように書くこともできます:

リーリー

次に、この配列を反復処理してみましょう

リーリー リーリー リーリー リーリー

このとき、配列の添字が0から始まらない場合(インデックスのない配列)、forループやcount()だけに頼っても意味がありません。このとき、私たちの味方であるforeach()が登場します。

リーリー

$key はキー値を表します (= はインデックスの添字に似ています) $value はキー値の値 (添字) を表します
$key と $value はそれらの名前を自由に変更できます、これらを使用するのは単なる慣例です2 つの変数 Express

foreach() に加えて、配列をトラバースできる優れた友人、つまり each() があります

リーリー

each() の導入については、コメントを読むと理解できると思いますが、 each() が配列を完成させた後、配列内の各要素 (キーと値のペア) が 4 つのデータを含む新しい配列に再パッケージ化されます。それ。

しかし、そのようなトラバースは面倒すぎてかなり低レベルです...

このとき、 each() の仲間である list() が登場します。 まずは list():

を紹介します。
リーリー

なぜ 1 が出力されるのですか?

これは次のようになります。 list() 関数は、配列内の いくつかの変数 に割り当て、それに対応して (配列の順序に従って) $userNane 配列内の要素 を $a、$b、それぞれ$。

list() とその友人の each() を理解したので、配列を簡単に走査することができます

リーリー

list($name,$age) = each($userNane);
リーリー

echo $name; //羅新

echo $age; リーリー


配列内の要素

はそれぞれ新しい配列に再パッケージ化されるため、各新しい配列には 4 つのデータが含まれます。

このとき、各データには対応するキーと値が2つあります。このとき、キーと値は使用できませんが、0と1は便利です。

これを使用して、$userNane の new 要素配列の 0 (キー) を $name に、1 (値) を $age に割り当てます

each() が完了した後、配列ポインタが 1 ビット下に移動するため、list-each を続けると、私の友人 Yuan Xiucheng の情報が出力されます。 現時点で、最初のものを再印刷したい場合は、reset() 関数を使用する必要があります。その機能は、配列ポインターを最初の位置にリセットすることです

リーリー

ここでは 2 つの便利な配列関数を紹介します:

リーリー
機能についてはコメントをご覧ください~

もう遅すぎます、少し疲れています、いや、いや、私の大切な 2 次元配列はまだ走査されていません。どうやって眠ることができますか? ! !

コードを見てください:
リーリー

二次元配列とは何ですか?ここでは、配列内の配列として理解できます。上記のコードは、配列内に 3 つの配列があることを意味します。

ここで疑問が生じます。キーと値のペアを含む 2 次元配列がある場合はどうなるでしょうか?トラバースのやり方。
コードを参照:

リーリー

コメントを見ると、走査する foreach() に加えて、カップル パートナー リストも実装できることがよくわかります

コードを参照:
リーリー

これで縦走は終了〜
間違いがあれば、ご指摘大歓迎です〜

ねえ、寝て寝て…

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