配列キューでは、配列の長さが固定されており、最大長を超えると配列が自動的に上書きされ、再度埋め込まれます。
このとき、配列全体がリングを形成します。以下に示すように。配列が指定された長さに満たない場合は、要素を直接追加します
each を使用して現在のポインターの要素を取り出し、ポインターを下に移動します
// 通常は型取りアルゴリズムを使用し、対象となるキーを取得し、直接上書きします
$ k = $ k % 12;
$test_array[$k] = $value;
}
push_array(0,$test_array);
push_array(2,$test_array);
push_array(4,$test_array);
push_array(6,$test_array);
push_array(7,$test_array);
push_array(9, $test_array);
push_array(10,$test_array) ;push_array(11,$test_array);
push_array(12,$test_array);
push_array(14,$test_array);
push_array(15,$test_array);
push_array(16) ,$test_array);
push_array(17,$test_array);
push_array(18,$test_array);
push_array(19,$test_array);
push_array(20,$ test_array);
push_array(21,$test_array);
push_array(22,$test_array);
push_array(23,$test_array);
push_array(24,$test_array);
var_dump($test_array);exit;
テスト結果:
<span>array(12) { [0]=> int(24) [1]=> int(13) [2]=> int(14) [3]=> int(15) [4]=> int(16) [5]=> int(17) [6]=> int(18) [7]=> int(19) [8]=> int(20) [9]=> int(21) [10]=> int(22) [11]=> int(23) }</span>
以上、PHP配列ポインタ学習記(1)を内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。