Условие вывода массива PHP

360
24 июня 2017, 13:31

В общем, есть массив с которого я вывожу данные на страницу. Для первого выведеного элемента из массива, мне нужно сделать блок 'div' "Активным". Я попытался это сделать так, но выводит ошибку: 'Getting unknown property: common\models\references\SQuizQuestion::0'

<?php foreach ($Questions as $Quest) { ?>
                    <?php if ($Quest[0]) { ?>
                        <div id="<?=$Quest['id_rec']?>" class="panel__item active">
                            <div class="text_question" align="center">
                                <?= $Quest->text_quest; ?>
                            </div> <!-- <div class="text_question"> -->
                            <div class="answer">
                                <?php foreach ($Quest->squizqa as $Answer) { ?>
                                    <p>
                                        <input type="checkbox" name="answer" value="<?=$Answer['id_rec']?>"> <?= $Answer->text_answer ?>
                                    </p>
                                <?php } ?>
                            </div> <!-- <div class="answer"> -->
                        </div>
                    <?php } else { ?>
                        <div id="<?=$Quest['id_rec']?>" class="panel__item">
                                <div class="text_question" align="center">
                                    <?= $Quest->text_quest; ?>
                                </div> <!-- <div class="text_question"> -->
                                <div class="answer">
                                    <?php foreach ($Quest->squizqa as $Answer) { ?>
                                        <p>
                                            <input type="checkbox" name="answer" value="<?=$Answer['id_rec']?>"> <?= $Answer->text_answer ?>
                                        </p>
                                    <?php } ?>
                                </div> <!-- <div class="answer"> -->
                        </div>
                    <?php } ?>
                <?php } ?>

Как правильно задать следующее условие:

Если ("Первый элемент массива"), то выводим
<div class="panel__item active">
иначе
<div class="panel__item">

Или это можно сделать еще каким то способом более адекватным, что бы такой участок кода не копировать?

Answer 1
<?php 
$first = true;
foreach ($Questions as $Quest) : ?>
<div id="<?=$Quest['id_rec']?>" class="panel__item <?=($first) ? 'active' : ''?>">
    <div class="text_question" align="center">
        <?= $Quest->text_quest; ?>
    </div> <!-- <div class="text_question"> -->
    <div class="answer">
        <?php foreach ($Quest->squizqa as $Answer) { ?>
            <p>
                <input type="checkbox" name="answer" value="<?=$Answer['id_rec']?>"> <?= $Answer->text_answer ?>
            </p>
        <?php } ?>
    </div> <!-- <div class="answer"> -->
</div>
<?php 
$first = false;
endforeach; ?>
Answer 2

Ты не используешь собственно вывод echo или print_r, поэтому у тебя и не выводится ничего. И вопрос: какую ошибку выводит? У тебя там провтыки в синтаксисе, позабывал ; Возможно проблема ошибки в этом.

READ ALSO
Обрезка строки php

Обрезка строки php

Простенький вопрос, но не могу сформулировать для гугла есть строка number_id=1, она может быть number_id=100 или number_id=10 мне нужно получить числовые...

283
Таблицы с перебором в drupal

Таблицы с перебором в drupal

Как создать такую таблицу (скрин ниже) в drupal'e с возможностью сортировки и использования фильтров? Смысл в том что изначально есть только основные...

262
Сортировка массива [дубликат]

Сортировка массива [дубликат]

На данный вопрос уже ответили:

317
Imagick ошибка использования LiquidRescaleImage

Imagick ошибка использования LiquidRescaleImage

Код вроде без ошибок, в чем трабл не могу понять я

314