PHP сравнение значений с a для l oop в массивах дает ошибку смещения - PullRequest
0 голосов
/ 27 мая 2020

У меня есть 2D-массивы, в которых я должен сравнивать следующее значение. Я использую для всех значений от l oop до go, и я получаю сообщение об ошибке смещения, потому что, когда он достигает последнего массива, он хочет проверить следующий массив, которого не существует. Как я могу это предотвратить? Я знаю, что ($ items [$ row] [0]! = $ Items [$ row + 1] [0]) является проблемой. Не следует ли использовать a для l oop?

Я не понимаю, что приведенный ниже код не выдает ошибок. Если $ items [$ row + 1] [0] является проблемой, когда он достигает последнего массива, $ items [$ row-1] [0] также не должны выдавать ошибку при проверке первого массива в массивы?

if ($row==0 || ($row>0 && $items[$row][0]!=$items[$row-1][0]) )

Но это не нормально.

Примечание: Попытка получить доступ к смещению массива для значения типа null
Примечание: смещение не определено

        if (($row<$num_rows && ($items[$row][0]!=$items[$row+1][0]))||$num_rows==$is_odd)  {
        //$is_odd is the number of last array.  
        //$num_rows is the total number of arrays. 
        echo "</table></div></div>";

    }

1 Ответ

1 голос
/ 27 мая 2020

в вашей проверке состояния следующий индекс существует или не похож на

if ((!empty($items[$row + 1]) && $row < $num_rows && ($items[$row][0] != $items[$row + 1][0])) || $num_rows == $is_odd) {
    //$is_odd is the number of last array.  
    //$num_rows is the total number of arrays. 
    echo "</table></div></div>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...