PHP создать переменную со значением, если равно

  • 10 Ответов
  • 188 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Xzizz

  • ***
  • 187
  • + 1 -
PHP создать переменную со значением, если равно

Я предполагал что это будет работать так, но увы (

if($komplekt == "Яблок"){$order = "Заяц";}
if($komplekt == "Апельсинов"){$order = "Волк";}
if($komplekt == "Мандаринов"){$order = "Колобок";}
if($komplekt == "Грейпфрутов"){$order = "Чипалино";}

подскажете как реализовать ?
« Последнее редактирование: 14.01.2017, 00:16:47 от Xzizz »
Сайт за 5 минут - мечта.
Joomla для меня АД , я думал мне будет достаточно добавить текст и картинки ;)

*

dmitry_stas

  • ********
  • 9611
  • + 929 -
это так и работает. это конечно не лучшая реализация, но даже с ней если $komplekt == 'Мандаринов' то $order = "Колобок" как не крути.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Xzizz

  • ***
  • 187
  • + 1 -
это так и работает. это конечно не лучшая реализация, но даже с ней если $komplekt == 'Мандаринов' то $order = "Колобок" как не крути.

У меня совсем не срабатывает(
А еще лучше реализация со Swith ?
Сайт за 5 минут - мечта.
Joomla для меня АД , я думал мне будет достаточно добавить текст и картинки ;)

*

robert

  • ********
  • 4002
  • + 371 -
Я предполагал что это будет работать так, но увы (
А что "увы"? Все должно работать, хотя я бы так сделал
Код: php-brief
$komplekt_by_order = array("Яблок" => "Заяц", "Апельсинов" => "Волк", "Мандаринов" => "Колобок", "Грейпфрутов" => "Чипалино");
$order = $komplekt_by_order[$komplekt];
У меня совсем не срабатывает(
А еще лучше реализация со Swith ?
Вы должны привести весь код, а не только кусок с восклицанием "не работает!". Здесь все работает, не работает в другом месте.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Xzizz

  • ***
  • 187
  • + 1 -
Вот весь путь:

$komplekt1 прилетает из формы
Яблоки: 500 рублей
Апельсины: 500 рублей
Мандарины: 500 рублей
Грейпфруты: 500 рублей

$komplekt = preg_replace('/\d/','',$komplekt1);

И получаются:
Яблоки: рублей
или
Апельсины: рублей
или
Мандарины: рублей
или
Грейпфруты: рублей

Далее я их отдаю вот сюда:

if($komplekt == "Яблоки: рублей"){$order = "Заяц";}
if($komplekt == "Апельсины: рублей"){$order = "Волк";}
if($komplekt == "Мандарины: рублей"){$order = "Колобок";}
if($komplekt == "Грейпфруты: рублей"){$order = "Чипалино";}

И у меня ничего $order не выдает
Сайт за 5 минут - мечта.
Joomla для меня АД , я думал мне будет достаточно добавить текст и картинки ;)

*

dmitry_stas

  • ********
  • 9611
  • + 929 -
после двоеточия 2 пробела?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

robert

  • ********
  • 4002
  • + 371 -
Весь код давайте, а не рассказ. Как $komplekt1 объявляется? Она вообще имеет нужное значение?
P.S. Это касается и $komplekt - она у вас может иметь вообще не то значение.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Xzizz

  • ***
  • 187
  • + 1 -
после двоеточия 2 пробела?

Да нуууу блин, так не интересно(((
Я  делал echo и там он отображался с 1 пробелом, делал ctrl+c и ctrl+v , все точь в точь как выдавалось в HTML , был уверен что с этим все верно...
я несколько часов сижу и ковыряю эту проблему, где только не спрашивал и только тут помогли !
Жесть, я обожаю этот форум !
Спасибо Дмитрий !

А кстати почему в HTML отображалось с одним пробелом ?
выводил среди HTML кода '.$komplekt.'
Сайт за 5 минут - мечта.
Joomla для меня АД , я думал мне будет достаточно добавить текст и картинки ;)

*

robert

  • ********
  • 4002
  • + 371 -
Да, у dmitry_stas зоркий взгляд.
В будущем сразу приведите код как есть, не надо писать "Грейпфрутов" вместо "Грейпфруты: рублей".
Я  делал echo и там он отображался с 1 пробелом, делал ctrl+c и ctrl+v , все точь в точь как выдавалось в HTML , был уверен что с этим все верно...
Это браузер. Скопируйте из исходного кода.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

beliyadm

  • ********
  • 8359
  • + 1527 -
  • Севастополь == Россия
А кстати почему в HTML отображалось с одним пробелом ?
Потому что это HTML и обычный пробел, браузер отображает хоть сто обычных пробелов как один, при необходимости используются неразрывные пробелы &nbsp
А dmitry_stas малацца, я б так сразу не увидел ))

А так при получении данных из формы хорошо использовать TRIM и другие функции очистки данных от пробелов и символов
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

SeBun

  • *******
  • 3050
  • + 185 -
  • @SeBun48
Более просто и наглядно:

Код: php
switch ($komplekt) {
    case 'Яблок':
        $order = 'Заяц';
        break;
    case 'Апельсинов':
        $order = 'Волк';
        break;
    case 'Мандаринов':
        $order = 'Колобок';
        break;
    case 'Грейпфрутов':
        $order = 'Чипалино';
        break;
    default:
         $order ='';
}

И совет: не следует юзать без надобности двойные кавычки.
« Последнее редактирование: 14.01.2017, 12:52:13 от SeBun »
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Администрирование
Ник занят | По личным вопросам не консультирую