Подсчет количества столбцов 2d-массива в PHP

#php #laravel

#php #laravel

Вопрос:

как вы считаете столбцы массива в PHP?

это структура БД

структура

Я использовал фабрику api для получения своих данных из БД

($ratings — от контроллера)

 @if(!empty($ratings['result'] ) amp;amp; count($ratings['result'] ))
    @foreach($ratings['result'] as $val)
  

Я подсчитал, сколько обзоров с помощью этого кода

 $count = count($ratings['result']);
echo $count;    

           
  

Теперь я хотел подсчитать, сколько элементов массива CustomerID.

Пожалуйста, помогите.

Комментарии:

1. Какой customerid или вы имеете в виду все идентификаторы клиентов, которые подчинены like / dislike etc и т. Д

2. все подчиненные customersid

3. либо в цикле, либо по отдельности, делая что-то вроде count($ratings['result']->likes['customerId)

4. Я получил эту ошибку, пытаясь получить свойство ‘likes’ не-объекта, я также попробовал count($ ratings [‘result’] [‘CustomerID’]-> нравится); но получил эту ошибку Неопределенный индекс: CustomerID и $ count = count ($ ratings [‘result’]->CustomerID); и получил ошибку При попытке получить свойство ‘CustomerID’ не-объекта означает ли это, что данные не существуют?

5. лайки — это не объект, вы можете получить такое количество ( $ratings[‘result’][‘likes’][‘CustomerID’] )

Ответ №1:

 function countCustomerIdLikes($rating=array()) {
    if ( is_array($rating) amp;amp; array_key_exists('likes', $rating) amp;amp; array_key_exists('customerId', $rating['likes'])) { 
        return count( $rating['likes']['customerId'] );
    }
    return 0;
}

$count = countCustomerIdLikes($ratings['result']);