В этом уроке мы обсудим следующие методы, используемые для того, чтобы сделать длинные коды if-else короче и более читабельными. Тернарный оператор PHPВы узнаете, что это такое и как это использовать, на примерах.

Тернарный оператор PHP — условный оператор, уменьшающий длину кода при выполнении сравнений и условий. Этот оператор является важной альтернативой использованию if-elseif-else или вложенному if else. Он называется тернарным оператором, поскольку принимает три операнда.

  • Тернарный оператор PHPОперанды, которые он принимает, следующие:
    состояние
  • результат true (возвращает true, если условие истинно)
  • результат ложный

Тернарный оператор PHP Синтаксис следующий:

$variable = (condition) ? (statement1) : (statement2);

Вместо условия добавляется условие. Если условие для оператора 1 возвращает значение true, добавляемые данные записываются. Если условие для оператора2 возвращает значение false, записываются добавляемые данные.

Тернарный оператор PHP

В нашем первом примере Тернарный оператор PHP'Мы увидим, насколько это сокращает оператор if-else. Если это правда, мы хотим сделать имя кнопки «Выход», потому что пользователь вошел в систему, а если пользователь не вошел в систему, мы хотим сделать имя кнопки «Вход», чтобы пользователь мог войти в систему. Предположим, что переменной is_user_logged_in присвоено значение true, если пользователь вошел в систему, и false, если пользователь не вошел в систему. В условии if мы задали вопрос, является ли переменная is_user_logged_in истинной или нет. Поскольку переменная не была задана, коды в первом условии не выполнялись и передавались в блок else. Как известно, коды в блоке else выполняются, если все остальные условия недействительны. В этом случае коды в блоке else были выполнены и предоставлен вывод «Вход».

// if else ile uzun ifade
$is_user_logged_in = false;
if ($is_user_logged_in === true) {
	echo $button_name = 'Çıkış Yap';
} else {
	echo $button_name = 'Giriş Yap';
}
// Çıktı: Giriş Yap
// ternary operator ile kısa ifade
$is_user_logged_in = false;
echo $button_name = $is_user_logged_in ? 'Çıkış Yap' : 'Giriş Yap';
// Çıktı: Giriş Yap

С формированием эха PHP Тернарный оператор PHPМы можем использовать . Давайте посмотрим это на двух примерах.

$number = 20;
echo ($number > 15) ? "15'ten daha büyük" : "15'ten daha büyük değil";
// Çıktı: number değişkeninin verisi 15'ten daha büyük
$number = 5;
echo ($number == 10) ? "number değişkeninin verisi 10'a eşit" : "number değişkeninin verisi 10'a eşit değil";
// Çıktı: number değişkeninin verisi 10'a eşit değil

Цепочка троичных операторов PHP (Цепочка троичных операторов)

В этом примере Тернарный оператор PHP В нем появился новый тернарный оператор. Вот почему это выражение Тернарный оператор PHP Мы называем это объединением тернарных операторов.  Теперь давайте разберемся с этим примером: предположим, что переменной $is_logged_in присвоено значение true, если пользователь вошел в систему, и false в противном случае. Переменная $balance — баланс пользователя, переменная $price — цена продукта. Переменная $message — это сообщение, которое мы покажем пользователю. Если переменная is_logged_in в переменной $message имеет значение true, условие продолжит выполняться; если оно ложно, данные «Сначала войдите в свою учетную запись, чтобы приобрести продукт» будут присвоены переменной $message. Условие продолжало выполняться, поскольку переменная $is_logged_in имела значение true. В качестве условия второго тернарного оператора мы задали вопрос, эквивалентны ли данные переменной $balance данным переменной $price. Данные переменной $balance — 24, данные переменной $price — 30. Поскольку они не эквивалентны, условие не вернуло true, оно вернуло false. Тернарный оператор PHPПервые данные присваивались только в том случае, если условие возвращало истинное значение, вторые данные присваивались, если условие возвращало ложное значение. Условие вернуло значение false, а переменной $message были присвоены данные «У вас недостаточно средств для покупки продукта». Мы напечатали переменную $message с помощью echo.

$is_logged_in = true; // kullanıcı giriş yaptı mı?   
$balance = 24; // bakiye
$price = 30; // ürün fiyatı
$message = $is_logged_in
			? ($balance === $price
					? 'Ürünü satın almak için yeterli bakiyeniz var'
					: 'Ürünü satın almak için yeterli bakiyeniz yok')
			: 'Ürünü satın almak için önce hesabınıza giriş yapın';
echo $message;
// Ürünü satın almak için yeterli bakiyeniz yok