@yarpoplar

Как вывести целиком массив из php в html с условием для некоторых элементов?

Есть два массива: полный массив, где располагаются все элементы, и массив, где хранятся лишь элементы подходящие под определенное условие. Нужно вывести все элементы из первого массива, но для элементов, входящих в состав второго массива сделать какое-нибудь выделение в стилях (например выделить жирным текст).
Сейчас происходит лишь полный вывод основного массива:
<ul class="letters"> 
     <?php foreach($data->real_letters as $key => $letter): ?>
     <li><div class="letter"><a href="#<?php echo $key; ?>"><?php echo $letter; ?></a></div></li>
     <?php endforeach ?>
</ul>

На данный момент в real_letters хранится основной массив.
Структура массивов:
$this->real_letters = $real_letters = array(
            'a' => 'А', 'b' => 'Б', 'v' => 'В', 'g' => 'Г', 
            'd' => 'Д', 'e' => 'Е', 'zh' => 'Ж', 'z' => 'З', 
            'i' => 'И', 'k' => 'К', 'l' => 'Л', 'm' => 'М', 
            'n' => 'Н', 'o' => 'О', 'p' => 'П', 'r' => 'Р', 
            's' => 'С', 't' => 'Т', 'u' => 'У', 'f' => 'Ф', 
            'h' => 'Х', 'c' => 'Ц', 'ch' => 'Ч', 'sh' => 'Ш', 
            'shch' => 'Щ', 'ee' => 'Э', 'yu' => 'Ю', 'ya' => 'Я'
        );

Во втором массиве все то же самое, за исключением пары элементов
  • Вопрос задан
  • 3516 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
<ul class="letters"> 
     <?php foreach($data->real_letters as $key => $letter): ?>
          <? $class = (array_key_exists($key, $second_array)) ? ' selected' : ''; ?>
          <li><div class="letter <?= $class; ?>"><a href="#<?php echo $key; ?>"><?php echo $letter; ?></a></div></li>
     <?php endforeach ?>
</ul>


Если во втором массиве нет ключей, то заменить array_key_exists на in_array($letter, $second_array)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы