2015-08-31 3 views
1

Как я могу узнать количество массивов, возвращаемое функцией php chunk?Сколько массивов возвращает array_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

Что значит рассчитать? Если вы хотите узнать, сколько массивов возвращается после chunking, просто используйте 'count()'? – Darren

+0

Просто используйте 'count', если вам нужно вычислить его' echo count (array_chunk ($ input_array, 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. – baao

2

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

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

В вашем случае

5/2 = 2,5

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

Смежные вопросы