andrjuxa_z
27.06.2014 - 17:23
Подскажите пожалуйста, как можно сделать условия для диапазона значений. Например, человек вводит в форму возраст в диапазоне от 18 до 30 - это одна инструкция, если от 30 до 45 - другая инструкция. Заранее спасибо
andrjuxa_z
27.06.2014 - 17:38
Спасибо. Так это придется 45 раз писать case или есть какой-то другой способ задать диапазон?
ну если возраст можно задавать в диапазоне от 0 до бесконечности, то инструкций будет много)
можно связать название функции с полем:
$age=$_POST['age'];
$func=substr($age, 1,2);
$run='run'.func();
думаю смысл понятен.
andrjuxa_z
27.06.2014 - 17:54
Большое спасибо, буду разбираться
andrjuxa_z
27.06.2014 - 18:33
<form action="user.php" method="post" name="anketa">
<br />
<p><label><input name="age" type="text" /> Введите Ваш возраст </label></p><br />
</form>
<?php
$age =($_POST["age"]);
echo $age;
?>
Уважаемый Bolic, как быть дальше? Подскажи пожалуйста
andrjuxa_z
27.06.2014 - 18:37
Когда начинаю выводить echo $func=substr($age,0,2); происходят непонятные вещи, вместо двухзначного числа выводится четырехзначное
andrey888
27.06.2014 - 19:45
andrjuxa_z
Цитата |
Спасибо. Так это придется 45 раз писать case или есть какой-то другой способ задать диапазон? |
А что в php отменили знаки "больше" "меньше" ?? (> <)
не конечно если тебе так нравится писать на php и главное чтоб побольше можно и все 45 значений прописать ) но все таки подумай о вышеуказанных > <
_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
andrjuxa_z
28.06.2014 - 11:11
andrey888, если ты имеешь в виду вот такую конструкцию
<?php
$a=15;
switch($a){
case $a>=0 ||$a<=18:
echo "Инструкция 1";
break;
case $a>18 ||$a<=30:
echo "Инструкция 2";
break;
}
?>
то она не приводит к нужному результату. Если знаешь, как это сделать, подскажи пожалуйста
andrjuxa_z
28.06.2014 - 11:14
Дальше первой инструкции не срабатывает, какие значения переменной а не задаю. В чем моя ошибка и как можно решить эту задачу? Ведь решение существует...
killer8080
28.06.2014 - 12:36
if ($var >= 18 && $var < 30) {
} elseif($var >= 30 && $var < 45) {
} else {
}
andrjuxa_z
28.06.2014 - 13:12
Спасибо, killer8080, это то что нужно!
andrey888
28.06.2014 - 16:57
либо
switch($a){
case ($a>=0 && $a<=18):
echo "Инструкция 1";
break;
case ($a>18 && $a<=30):
echo "Инструкция 2";
break;
}
прими во внимание скобки и знак && а не ||
_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.