Почему count() с COUNT_RECURSIVE возвращает неверный результат для моего двумерного массива? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему count() с COUNT_RECURSIVE возвращает неверный результат для моего двумерного массива? [дубликат]

Сообщение Anonymous »

Я заполнил двумерный массив следующим кодом

Код: Выделить всё

    $chessboard = array(
array('r','n','b','q','k','b','n','r'),
array('p','p','p','p','p','p','p','p'),
array(' ',' ',' ',' ',' ',' ',' ',' '),
array(' ',' ',' ',' ',' ',' ',' ',' '),
array(' ',' ',' ',' ',' ',' ',' ',' '),
array(' ',' ',' ',' ',' ',' ',' ',' '),
array('P','P','P','P','P','P','P','P'),
array('R','N','B','Q','K','B','N','R'));
Когда я подсчитываю 1 строку, она возвращает 8 элементов, как и ожидалось (см. вывод чуть ниже):

Код: Выделить всё

echo "count: " . count($chessboard) . "
";
Но когда я посчитаю оба измерения, ответ будет таким, что их будет 72 элемента?
(см. результат чуть ниже)

Код: Выделить всё

echo "count all: " . count($chessboard, COUNT_RECURSIVE) . "
";
Почему-то кажется, что есть дополнительная строка или столбец?
Я подозреваю, что есть дополнительная строка, но не вижу дополнительной строки, когда отображаю весь массив шахматной доски:

Код: Выделить всё

  echo "
the board:
";
foreach ($chessboard as $row) {
foreach ($row as $piece){
echo "-$piece-";
}
echo "
";
}
echo "the end";
Отобразится:
Изображение

Я добавил дополнительный знак «-», чтобы лучше показать пробелы во время тестирования этой проблемы.
Я ожидал общего количества из 64 (8х8)... почему показывает 72? откуда берется лишняя строка (или столбец)?
Как ее изменить, чтобы массив по-прежнему заполнялся правильно, но счетчик правильно показывал 64?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -2-d-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»