連想配列の要素

キーを数字で指定する場合、 for 文の繰り返しを使用してキーの値を順に変化させれば、配列のすべての要素をリストアップして、それぞれに対して処理を行えます。 しかし、文字列をキーにして連想配列にする場合は、この方法は使用できません。 他の方法を使用する必要があります。 <strong>ポインタを使用する</strong> PHP3 で連想配列の要素をリストアップするには、ポインタを使用します。ポインタは、配列内の個々の要素を指し示すため に使用するものです。ポインタで配列のすべての要素をリストアップするには、 まず、 reset という関数を使用して、ポインタ を配列の先頭に戻します。 reset 関数は次のように書きます。 reset (配列変数名) 次に、関数を使用します。 each関数は次の3つの処理を行うものです。 ①配列からポインタが指し示す要素を取り出す ②ポインタを次の要素に進める ③要素がもうないかどうかを調べる ポインタが配列の途中にある場合は、ポインタが指し示す要素について、キーと 値の情報が入った配列が返されます。つまり、配列の0番の要素にキーが代入され、 1番の要素に値が代入されます。 たとえば、ポインタが指す要素のキーが orangeで値が10 だとすると、 each関数から返される配列は、 0番の要素の値が orangeで、 1番が10 になります。また、すべての要素をリストアップし終わって、これ以上要素がない場合、 each関数を実行するとFalseが返されます。 これらのことから、 each関数から返される値を変数に代入し、その値がFalse に なるまで繰り返しを続ければ、配列のすべての要素をリストアップできることにな ります。つまり、while 文を使用して繰り返しを行います。 なお、 reset each は連想配列に対して使用するだけでなく、キーが数値になって いる配列にも使用できます。