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'].
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Ничего что вы используете переменную $i в основном цикле и во внутреннем?
Они так-то друг друга перезаписывают получается и на выходе фиг знает что происходит, скорее всего вечный цикл.

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 19:18
50000 руб./за проект
24 апр. 2024, в 19:05
15000 руб./за проект
24 апр. 2024, в 18:39
80000 руб./за проект