У меня есть большой многомерный массив, который выводится в таблицу HTML. Каждый массив второго уровня имеет одинаковое количество значений. Мне нужно посчитать, сколько пар ключ / значение в первом массиве, который в этом примере равен [247326]. Есть ли способ сделать это без цикла?

Array
(
    [247326] => Array
        (
            [144784] => 0
            [144785] => 0
            [144787] => 1
            [144815] => 0
            ...
            [144909] => 0
        )

    [247327] => Array
        (
            [144784] => 0
            [144785] => 0
            [144787] => 1
            [144788] => 0
            ...
            [144909] => 0
        )

    [247328] => Array
        (
            [144784] => 0
            [144785] => 0
            [144787] => 1
            [144788] => 0
            ...
            [144789] => 0
        )

)
php
0
santa 29 Май 2019 в 00:54

2 ответа

Лучший ответ

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

count(end($arr));

1
Leonardo Prado 28 Май 2019 в 22:18

Предположим, ваш массив называется $array, тогда вы можете получить количество пар ключ / значение в элементах 247326 с помощью:

$pairs = count($array[247326]);

Результат будет в $pairs. Если вы не знаете первый элемент в массиве, вы можете получить его с reset() следующим образом:

$first = reset($array);
$pairs = count($first);

Это так просто, что я неправильно понял твой вопрос?

3
KIKO Software 28 Май 2019 в 22:01