Показать сообщение отдельно
  #92 (permalink)  
Старый 07.01.2021, 19:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

С константой нет проблем, надеюсь не сложно было разобраться?

Вот только вопрос - а зачем она там вообще нужна, константа? Такой же вопрос и по поводу:

if(...) {
    $a = ...
    $b = ...
} else {
    $a = ...
....


зачем простое условие, выполняющее с легкостью задачу, при этом читабельность кода 100%, усложнять конструкцией, от которой в данном случае нет ни какой пользы, просто будут выполнятся еще, лишние, операции? Ради "красивости кода в одну строку"? Если по такому принципу писать код, тогда все пропало.

Ну а ради понимания, то ничего сложного. Записать "как есть" это условие тернарным оператором не позволяет синтаксис. Но оператор может возвращать и массив, а значит можно определить в нем значения для переменных $a, $b, ... массивом. Проверить это ведь не сложно, выполнив простое:

$a = true ? ['a', 'b'] : ['c', 'd'];
var_dump($a);
// array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }


А к возвращаемому массиву применить list(), тогда:

list($a, $b) = false ? ['a', 'b'] : ['c', 'd'];
echo $a . ' / ' . $b;
// c / d


Есть в этом что-то очень сложное для понимания? Читайте, выполняйте примеры, вникайте, и понимание будет обязательно.

Последний раз редактировалось laimas, 07.01.2021 в 20:20.
Ответить с цитированием