Сколько массивов возвращает array_chunk?

1

Как узнать количество массивов, возвращаемых функцией php chunk?

Например, если я выполняю этот фрагмент кода, я знаю, что он вернет 3 массива, но как я могу вычислить его:

$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));

Вывод:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
  • 1
    Что вы имеете в виду рассчитать это? Если вы хотите узнать, сколько массивов возвращается после разбиения на фрагменты, просто используйте count() ?
  • 0
    Просто используйте count если вам нужно вычислить его echo count(array_chunk($input_array, 2))
Теги:
arrays

2 ответа

1
Лучший ответ

Вы можете вычислить его программно, разделив количество значений в массиве, которое должно быть разбито на размер блока:

$input_array = array('a', 'b', 'c', 'd', 'e');
$chunkSize = 2;
print_r(array_chunk($input_array, $chunkSize));


$count = round(count($input_array) / $chunkSize,PHP_ROUND_UP);

Я использую PHP_ROUND_UP потому что последний кусок не обязательно имеет все значения размера блока, но также является массивом.

  • 0
    Ceil vs Round?
  • 0
    То же самое через флаг @JonathanS.
2

Вы хотели бы что-то вроде

ceil ( count ( $input_array ) / $chunk_size);

В твоем случае

5/2 = 2,5

После результата функции ceil = 3

Ещё вопросы

Сообщество Overcoder
Наверх
Меню