PHPにはポインターがなく、参照に対してポインター演算を実行することはできません。
next()
andprev()
関数を使用して配列内を前後に移動したり、現在地を確認したりすることができますkey()
。current()
配列内の現在の位置に格納されている値を返します(ポインターの逆参照のようなものです)。
これらはすべて単一レベルの深さで機能するため、多次元配列で位置を見つけることはできません。
多次元配列を操作する最良の方法は、配列内の位置を識別するX値とY値を単純に格納し、インクリメント/デクリメントすることです。PHPの配列はハッシュとして内部的に実装されているため、何が含まれているかに関係なく、参照は$data[$x][$y]
非常に高速です。$x
$y
たとえば、行列内の現在の位置が(1、1)の場合、これを格納する変数を持つことができます。
$current = ['x' => 1, 'y' => 1];
そこに保存されているものを見つけるには、それを調べてください。
$x = $current['x'];
$y = $current['y'];
$data[$x][$y];
この位置の左上に何が格納されているかを確認するには、現在の位置の座標から1を引いて、その位置を検索するだけで、位置を取得できます。
$x = $current['x'] - 1;
$y = $current['y'] - 1;
$data[$x][$y];