Я не уверен в ошибке, которую получаю при доступе к двумерному массиву в PHP. В основном мой 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 является imho правильным и показывает результаты, которые я хотел достичь.
Я делаю следующее: 1) подготовка координат x и y в массиве $ points. 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 – неопределенные индексы в двух условиях if. Что-то не так? Другие индексы работают хорошо, как доступ к $ this-> Ns и т. Д. Любые идеи?