Можно ли вставить случайное значение в диапазон в php? - PullRequest
0 голосов
/ 04 января 2011

Что меня интересует, так это создание диапазона числовых значений для раскрывающегося меню html в диапазоне от 18 до 75. Мой клиент спрашивает, что между числами 29 и 30 я прерываю диапазон значением 'Выберите ', что будет вариантом по умолчанию.

Я не вижу в этом необходимости, но я решил поиграть и посмотреть, возможно ли это.Диапазон уже создан, поэтому теперь я должен найти способ надежно вставить «Выбрать» в середину.Я попробовал несколько вещей, основанных на поиске Google и комментариях в руководстве по функции, так что теперь я перехожу к стеку.Спасибо за любой совет!

edit: Вот код ...

<?php
$age = range(18, 75);
echo ( '<select class="dropdown nextPanel" name="age">' );
    foreach ($age as $option){
        echo ( "<option value='".$option."'>".$option."</option>" );
    }
echo ( '</select>' );
?>

Другое редактирование: Дерьмо, я полагаю, я пытаюсь прервать foreach.

Ответы [ 3 ]

2 голосов
/ 04 января 2011

Итак, вы получили диапазон (используя range(18, 75)?) И хотите вставить Choose между 29 и 30?

$pos = array_search(29, $range); // returns the index of 29
array_splice($range, $pos+1, 0, array('Choose'));

Это вставит «Выбрать» сразу после значения 29 в $range.

Если вы хотите сделать это только во время печати, вы можете посмотреть на ответ ehudokai для начала.

РЕДАКТИРОВАТЬ : Если все, что вы хотите сделать, это вставить опцию «Выбрать» после опции № 29 и установить ее в качестве опции по умолчанию для выбора:

foreach($range as $v) {
    if($v == 30) {
        echo "<option value='choose' selected='selected'>Choose</option>";
    }
    echo "<option value='$v'>$v</option>";
}

Таким образом, он по-прежнему будет распечатывать обычные параметры, но когда он встречает параметр 30, он сначала распечатает параметр choose по умолчанию и помечает его как выбранный.

1 голос
/ 04 января 2011
if($rangevalue == 29){
    echo "<input value=\"\" selected>Choose</input>";
}

Может быть, я что-то упустил.

Надеюсь, это поможет!

1 голос
/ 04 января 2011

Не должно array_splice работать?

 $myarr = range( $start, $end );
 array_splice( $myarr, round( count( $myarr ) / 2 ), 0, 'Choose');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...