Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Альтернатиная запись if else

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: echo ? : Не получается:(
UNTRUSTED
Отправлено: 26 Марта, 2012 - 19:36:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Март 2012  


Помог: 2 раз(а)




Помогите пожалуйста синтаксически правильно оформить запись такого вида:
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo'.......'.$var['xxx']?.'ТЕКСТ ТЕКСТ'.:$var['xxx'].'ТЕКСТ ТЕКСТ';

Тут написал как нужно сделать в итоге - по смыслу! Так выдает ошибку, пробовал еще несколько вариантов, все неработают!
Единственный вариант, который точно работает, это перед этой проверкой закрыть прошлый echo и новый открыть без кавычек:
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo'...';echo $var['xxx'] ?'TEKCT TEKCT':''.$var['xxx'].''; echo '...
 
 Top
ALEN
Отправлено: 26 Марта, 2012 - 19:53:15
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Скобки не пробовал делать?
 
 Top
UNTRUSTED
Отправлено: 26 Марта, 2012 - 19:59:16
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Март 2012  


Помог: 2 раз(а)




Причем здесь вообще скобки? Не в них дело..
(Добавление)
Работает как то вот так, но немного неправильно:
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo'.......'.$var['xxx']?"ТЕКСТ ТЕКСТ":"ДРУГОЙ ТЕКСТ".';

Выводит то, что после ? и не имеет значения верно или нет!

(Отредактировано автором: 26 Марта, 2012 - 20:04:31)

 
 Top
DelphinPRO
Отправлено: 26 Марта, 2012 - 20:16:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. echo'.......';
  2. echo isset($var['xxx']) ? 'ТЕКСТ ТЕКСТ' : $var['xxx'].'ТЕКСТ ТЕКСТ';
  3. //или
  4. echo !empty($var['xxx']) ? 'ТЕКСТ ТЕКСТ' : $var['xxx'].'ТЕКСТ ТЕКСТ';


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
UNTRUSTED
Отправлено: 26 Марта, 2012 - 20:20:34
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Март 2012  


Помог: 2 раз(а)




UNTRUSTED пишет:
echo'...';echo $var['xxx'] ?'TEKCT TEKCT':''.$var['xxx'].''; echo '...

Т.е. только несколькими вызовами echo??
isset не нужно, так как эта переменная уже объявлена и не empty в любом случае, она может быть либо с каким то значением, либо NULL, и если NULL оно выводит то, что после ":"

(Отредактировано автором: 26 Марта, 2012 - 20:21:06)

 
 Top
OrmaJever Модератор
Отправлено: 26 Марта, 2012 - 20:59:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




UNTRUSTED пишет:
Причем здесь вообще скобки? Не в них дело..

Если говорят надо послушать.
PHP:
скопировать код в буфер обмена
  1. echo'.......'.($var['xxx'] ? 'ТЕКСТ ТЕКСТ' : $var['xxx'].'ТЕКСТ ТЕКСТ');

У конкатенации приоритет больше.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
просто даня
Отправлено: 26 Марта, 2012 - 22:41:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 357
Дата рег-ции: Март 2012  
Откуда: sev-kav, budennovsk


Помог: 1 раз(а)

[+][+]


извените, ну насколько я знаю не льзя использовать одни и теже ковычки в одном echo то есть:

PHP:
скопировать код в буфер обмена
  1.  
  2. echo "......." . $_POST['green'] . "text text:" . $_POST['green'] . "text text";
  3.  

так работать будет!
 
 Top
DlTA
Отправлено: 27 Марта, 2012 - 00:59:49
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




просто даня пишет:
извените, ну насколько я знаю не льзя использовать одни и теже ковычки в одном echo то есть

Почему?
 
 Top
LIME
Отправлено: 27 Марта, 2012 - 01:04:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




OrmaJever пишет:
У конкатенации приоритет больше.
не знал о применении приоритетов в даном случае
казалось бы все просто
спасиб
(Добавление)
ALEN и вам
 
 Top
tato
Отправлено: 27 Марта, 2012 - 05:54:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




OrmaJever пишет:
У конкатенации приоритет больше.


Мало сообщений, Я б тебе + поставил


-----
просто ?: сложно
 
 Top
UNTRUSTED
Отправлено: 27 Марта, 2012 - 11:14:03
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Март 2012  


Помог: 2 раз(а)




OrmaJever пишет:
Если говорят надо послушать.

Я просто думал про вот эти {} скобкиУлыбка
ALEN, сориУлыбка
И спасибо ALEN,OrmaJever..
------------------
просто даня пишет:
извените, ну насколько я знаю не льзя использовать одни и теже ковычки в одном echo то есть:

Это вообще к моему вопросу не относиться никакУлыбка
------------
А где можно про это почитать? Я что то упустил вот про эти () скобки в echo!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB