PHP で 2 次元配列にアクセスしているときに発生するエラーについてはよくわかりません。基本的に、私の var_dump() は次のことを教えてくれます:
array(1) {
['x']=>
string(1) "3"
}
array(1) {
['y']=>
string(3) "3"
}
array(1) {
['x']=>
string(1) "5"
}
array(1) {
['y']=>
string(3) "5"
}
var_dump は正しく、私が達成したかった結果を示しています。
私がやっていることは次のとおりです: 1) $points 配列内で x 座標と y 座標を準備する 2) いくつかの数値が指定された座標内にあるかどうかを確認します:
function check_collisions {
$points = array();
for($y = 0; $y < count($this->Ks); $y++)
{
$points[]['x'] = $this->Ks[$y][0]; // first is 3, second is 5 - see var_dump above
$points[]['y'] = $this->Ks[$y][1]; // first is 3, second is 5 - see var_dump above
}
for($p = 0; $p < count($points); $p++)
{
for($r = 0; $r < count($this->Ns); $r++)
{
if($points[$p]['x'] >= $this->Ns[$r][0] && $points[$p]['x'] <= $this->Ns[$r][2])
{
if($points[$p]['y'] >= $this->Ns[$r][1] && $points[$p]['y'] <= $this->Ns[$r][3])
{
$collisions++;
}
}
}
}
return $collisions;
}
私の PHP は、x と y が 2 つの if 条件内の未定義のインデックスであると教えてくれます。何か間違っていることでも?$this->Ns などへのアクセスなど、他のインデックスはうまく機能しています。何かアイデアはありますか?