Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > If и elseif в пустом значение


Автор: Danox 21.2.2006, 19:26
Есть такой скрипт
if ($go == one)
{
echo "$1";
}

elseif ($go == two)
{
echo "$2";
}

else
{
echo "One and two";
}

вот все легко но можно например если go == "" тоесть поле пустое чтоб он выполнял такое $no1 и.т.д. но самое плохое что мне прописывать каждый раз это все неудобно smile можно какнибдуь подругому???

Автор: alligator 21.2.2006, 19:34
Код

if (empty($go))
{
echo "$no";
}
elseif ($go == one)
{
echo "$1";
}
elseif ($go == two)
{
echo "$2";
}

else
{
echo "One and two";
}

Автор: -=Ustas=- 21.2.2006, 19:34
Danox, по-другому никак (в твоем случае, хотя мож я тебя неверно понял...). И еще в твоем случае будет лучше пользоваться:
Код

switch ($go) {
    case ("one"):
        ...
        break;
    case ("two"):
        ...
        break;
}

Автор: Danox 21.2.2006, 19:38
-=Ustas=- Да правильно меня понял...
alligator мне надо для каждого елсейфа свое неправилльное значение а не одно на всех
----
php не идеален

Автор: -=Ustas=- 21.2.2006, 19:41
Danox, а вообще обрисуй подробнее, что тебе нужно, а то я тебя уже не понимаю... smile

PS. Да и PHP обзывать не надо smile

Автор: alligator 21.2.2006, 19:42
Тогда -=Ustas=-, прав

Автор: Danox 21.2.2006, 19:46
Мне надо для каждого елсейфа при пустой $go чтоб например при пустой Go он выполнял что-то другое а прописывать так долго просто нехочется долго слишком уж и работу скрипта замедлит smile

Php не обзываю php это святое

Автор: -=Ustas=- 21.2.2006, 19:55
Цитата(Danox @ 21.2.2006, 19:46 Найти цитируемый пост)
Мне надо для каждого елсейфа при пустой $go

Хм.... Послушай свои слова..., по-моему бред smile Как это, для блока else if пустое значение? Т.к. если же оно будет пустым, то управление пролетит мимо всех твоих else if-ов smile Сам подумай...

Автор: Danox 21.2.2006, 20:01
smile упс smile ну ладно сделаю немного другой вариант спасибо.

Автор: CyClon 22.2.2006, 22:53
Не понял что нужно. Приведу всего лишь пример...

Код
if ($_GET['go'] == "news") {
    include("news.php");
} elseif ($_GET['go'] == "files") {
    include("filezzzz.php");
} else {
    include("error.php");
}


Эту хитроумную конструкцию можно заменить более простой:

Код
<?php

switch ($_GET['go']) {
    case news:
    $go = "news.php";
    break;
    case files:
    $go = "filezzz.php";
    break;
    default:
    $go = "error.php";
    break;
}

include($go);

?>

Автор: -=Ustas=- 23.2.2006, 11:28
Цитата(CyClon @ 22.2.2006, 22:53 Найти цитируемый пост)
Эту хитроумную конструкцию

smile

Автор: CTAPbIuMABP 23.2.2006, 12:40
неуверен что второй вариант лучше....

1 - 2.91012692451
2 - 3.18426299095

на тысячу цыклов

Автор: Danox 23.2.2006, 21:03
Все забейте я выше сказанное знаю вооще не в тему вопром пемечен решен!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)