@freeman0204

Как правильно разбить строку в данном случаи?

Есть поле:
5aa84c13dc9d0770026906.jpeg

Есть select:
<select name="">
                                <?php
                                $type_service = get_field('type_service', 15);
                                $arr_type_service = explode(" ", $type_service);
                                foreach ($arr_type_service as $i) { ?>
                                    <option value="<?php echo $i ?>"><?php echo $i ?></option>
                                <?php } ?>
                            </select>


Вот что выходит:
5aa84c819ea6f083014564.jpeg

Мне нужно что бы было так:
<option value="300">Услуга</option>
    <option value="400">Услуга два</option>


Как это можно реализовать?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 2
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Не надо ничего разбивать, вы плагин ACF неправильно используете. Замените значения для селекта на:

300 : Услуга один
400 : Услуга два

1. Обратите внимание на пробелы вокргу двоеточия
2. Первым идет атрибут value, вторым – label (человекопонятный текст)

Ну и на выводе работать надо с ассоциативным массивом:

$type_service = get_field('type_service', 15);
foreach ( $type_service as $key => $value ) {
    echo "<option value=\"{$key}\">{$value}</option>"; // <option value="300">Услуга один</option>
}
Ответ написан
maddog670
@maddog670
<select name="">
	    <?php
	    $type_service = get_field('type_service', 15);
$arr_type_service = explode("\n", $type_service);
foreach ($arr_type_service as $i) {
  $j = explode(':',$i); ?>
  <option value="<?php echo $j[1] ?>"><?php echo $j[0] ?></option>
<?php } ?>
	</select>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sidni
Php Developer
<?php foreach ($arr_type_service as $i) { ?>
$j = explode(':',$i);
<option value="<?php echo $j[1] ?>"><?php echo $j[0] ?></option>
<?php } ?>
Ответ написан
Ваш ответ на вопрос

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

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