Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/64: Рейтинг темы: голосов - 64, средняя оценка - 4.72
107 / 4 / 1
Регистрация: 04.04.2015
Сообщений: 124

Сокращенная запись IF ELSE

30.07.2017, 08:37. Показов 12456. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Подскажите можно ли данный кусок кода написать тернарным оператором (? ?

PHP
1
2
3
4
5
if (array_key_exists("brand", $_GET["filter"])) {
    $_GET["filter"]["brand"] = "111";
} else {
    $_GET["filter"]["brand"] = "111";
}
Думал вот так вот сработает, но нет (( :
PHP
1
array_key_exists("brand", $_GET["filter"] ? $_GET["filter"]["brand"] = "111"; : $_GET["filter"]["brand"] = "111";
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2017, 08:37
Ответы с готовыми решениями:

PHP: сокращенная запись
Привет. Суть: Сокращенная запись куска PHP-кода: <?=$someVar?> Почему-то не выводит значение переменной $someVar. В...

Сокращенная запись присвоения переменных (вопрос)
Ботаю пхп.. и вот столкнулся с такой непоняткой $a .= $b эквивалентно выражению $a = $a . $b и тоже самое со сложением...

Сокращенная запись ifstream и ofstream
#include <fstream> using namespace std; int main() { fstream I("input.txt"), O("output.txt", 2); что означает второй...

9
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
30.07.2017, 09:04
А зачем вообще тут условный оператор?
PHP
1
$a = $condition ? $iftrue : $iffalse;
0
107 / 4 / 1
Регистрация: 04.04.2015
Сообщений: 124
30.07.2017, 10:03  [ТС]
Разобрался как он работает...
Тет не к чему, просто как пример написал.

Добавлено через 57 минут
Про присвоение значения все работает.


Пример:
PHP
1
2
$a = true;
$b = ($a == true) ? 'верно' : 'неверно';
А можно ли такой записью сделать не присваивание значения а выполнение кода.
Например. если TRUE то сделать это или сделать это.

Пример:
PHP
1
2
3
4
5
6
$a = true;
if ($a = true) echo 1; else echo 2;
 
// не рабочий, но как я это вижу
$a = true;
($a == true) ? (echo 1;) : (echo 2;)
Конечно видно что 1 (рабочий) if даже короче вышел, но интересует не краткость записи, а возможно ли сделать через ?: или нет ?

Большое всем спасибо.
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
30.07.2017, 10:19
PHP
1
2
$a = false;
echo ($a == true) ?  "1" : "2";
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
30.07.2017, 10:20
Цитата Сообщение от SkyWeb Посмотреть сообщение
$a == true
Если $a имеет тип bool, то зачем еще сравнивать с другим значением типа bool?
PHP
1
2
$a = true;
echo $a ? 1 : 2;
0
107 / 4 / 1
Регистрация: 04.04.2015
Сообщений: 124
30.07.2017, 10:36  [ТС]
Мы наверное не понимаем друг друга. ))

Мой вопрос можно ли в ?: не просто присваивать значение, а выполнять команды.
Например если ПРАВДА, то Делаем это, Делаем это, вызываем, функцию, отправляем почту, и т.д. если ЛОЖЕ, то просто текст вывести

Напишу еще один пример.
Вот это можно записать в ?: (зачем так делать?, да не за чем, интересует возможно или нет ???)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$a = true;
if ($a) {
    $b = 1;
    $c = 2
    function test ();
        //..
        //..
} else {
    echo "FALSE";
}
 
// если сравнивать ваш пример то
echo $a ? 1 : 2;
 
// хочу вот так
$a ? (echo 1; function test(); ) : (echo 2;)
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
30.07.2017, 10:42
Лучший ответ Сообщение было отмечено SkyWeb как решение

Решение

Цитата Сообщение от SkyWeb Посмотреть сообщение
Вот это можно записать в ?:
Если очень хочется, то можно
PHP
1
2
3
4
5
function test() {
    echo 'test';    
}
$a = true;
$a ? (function() {echo 1;test();})() : print 2;
1
107 / 4 / 1
Регистрация: 04.04.2015
Сообщений: 124
30.07.2017, 10:49  [ТС]
Теперь мы друг друга поняли ))
Но не получается, ошибка 500 ((
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
30.07.2017, 10:52
Цитата Сообщение от SkyWeb Посмотреть сообщение
Но не получается, ошибка 500 ((
В актуальных версиях php должно работать http://ideone.com/aPvVCV
1
107 / 4 / 1
Регистрация: 04.04.2015
Сообщений: 124
30.07.2017, 11:05  [ТС]
Jewbacabra, Спасибо. (ставлю плюсик и галочку)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2017, 11:05
Помогаю со студенческими работами здесь

Сокращенная запись свойства font
у меня есть свойства font-size: 12px; font-weight: bold; font-style: italic; line-height: 0.03em; как это можно записать в...

Сокращенная запись условия - код не компилируется
Есть код : public string ImAMethod(int p) { object result = GetSomethingFromSomewhere(p); if (result ==...

Сокращенная ДНФ
Помогите срочно надо сделать эти два задания(( Пожалуйста с объяснением как вы сделали. заранее спасибо первое задание с сднф(сокращ...

Почему-то не работает сокращенная форма if( ? : )
Подчеркивает красным и пишет Not a statement и Expected ; Если сделать в обычном формате if - else то всё нормально public void...

Четыре кнопки на форме: добавить запись, удалить запись, закрыть, найти запись
Private Sub КнопкаДобавитьЗапись_Click() On Error GoTo Err_КнопкаДобавитьЗапись_Click DoCmd.GoToRecord , , acNewRec ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru