[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как задать условия для диапазона значений
andrjuxa_z
Подскажите пожалуйста, как можно сделать условия для диапазона значений. Например, человек вводит в форму возраст в диапазоне от 18 до 30 - это одна инструкция, если от 30 до 45 - другая инструкция. Заранее спасибо
Bolik
юзай switch http://www.php.net/manual/en/control-structures.switch.php
andrjuxa_z
Цитата
юзай switch http://www.php.net/manual/en/control-structures.switch.php


Спасибо. Так это придется 45 раз писать case или есть какой-то другой способ задать диапазон?
Bolik
ну если возраст можно задавать в диапазоне от 0 до бесконечности, то инструкций будет много)
можно связать название функции с полем:


$age=$_POST['age'];
$func=substr($age, 1,2);
$run='run'.func();

думаю смысл понятен.
andrjuxa_z
Большое спасибо, буду разбираться smile.gif
andrjuxa_z
<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
Когда начинаю выводить echo $func=substr($age,0,2); происходят непонятные вещи, вместо двухзначного числа выводится четырехзначное

andrey888
andrjuxa_z
Цитата
Спасибо. Так это придется 45 раз писать case или есть какой-то другой способ задать диапазон?

А что в php отменили знаки "больше" "меньше" ?? (> <)

не конечно если тебе так нравится писать на php и главное чтоб побольше можно и все 45 значений прописать ) но все таки подумай о вышеуказанных > <

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
andrjuxa_z
andrey888, если ты имеешь в виду вот такую конструкцию
<?php
$a=15;
switch($a){
case $a>=0 ||$a<=18:
echo "Инструкция 1";
break;
case $a>18 ||$a<=30:
echo "Инструкция 2";
break;
}
?>
то она не приводит к нужному результату. Если знаешь, как это сделать, подскажи пожалуйста
andrjuxa_z
Дальше первой инструкции не срабатывает, какие значения переменной а не задаю. В чем моя ошибка и как можно решить эту задачу? Ведь решение существует...
killer8080
if ($var >= 18 && $var < 30) {
//
} elseif($var >= 30 && $var < 45) {
//
} else {
//
}
andrjuxa_z
Спасибо, killer8080, это то что нужно!
andrey888
либо

switch($a){
case ($a>=0 && $a<=18):
echo "Инструкция 1";
break;
case ($a>18 && $a<=30):
echo "Инструкция 2";
break;
}

прими во внимание скобки и знак && а не ||

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.