vaflya
@vaflya
Ничего личного, это всего лишь хобби.

Count() и sizeof() не работает с многомерным массивом?

array $data:
$data['films']
  $data['films'][$i]['title']
  $data['films'][$i]['cover']
  $data['films'][$i]['actors']
  $data['films'][$i]['genres']
$data['genres']
$data['genre']

php
$vars = $data['films'][$i];

  $count = count($vars['genres']);
  if ($count >0) {
  
    for ($i = 0; $i < $count; $i++) {
      echo '<a class="entry__tag" href="/'.$vars['genres'][$i]['url'].'">'.$vars['genres'][$i]['name'].'</a>, ';
    }
  }


Код не работает и дико грузит процессор. Страница не прорисовывается. Пробывал sizeof(), причиной может быть, что не для всех фильмов есть $vars['genres'].
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Ничего что вы используете переменную $i в основном цикле и во внутреннем?
Они так-то друг друга перезаписывают получается и на выходе фиг знает что происходит, скорее всего вечный цикл.

foreach в помощь, причем и для главного цикла и для внутреннего который здесь показан.

Забудьте про for $i и вот это всё, лишний гемор.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
php.net/manual/ru/function.count.php
Если необязательный параметр mode установлен в COUNT_RECURSIVE (или 1), count() будет рекурсивно подсчитывать количество элементов массива. Это особенно полезно для подсчёта всех элементов многомерных массивов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы