Помогите упростить отрезок кода

Toxin UA

Новичок
Можно ли обойтись одной переменной или еще как-то упростить это код?
PHP:
if (!$s) $s1 = "1";
if ($s) $s1 = "0";
echo $s1;
 

Фанат

oncle terrible
Команда форума
PHP:
echo (int)!$s;
а тернарные свои выкиньте на помойку
 
  • Like
Реакции: craz

Фанат

oncle terrible
Команда форума
Toxin UA
основной смысл в том, что 0 и 1 - это уже булевы значения. и их можно получить булевыми же операторами.
например, отрицанием из 1 получить из 0 а из нуля - единицу.
В конце скастовать в инт.
 

Toxin UA

Новичок
Toxin UA
основной смысл в том, что 0 и 1 - это уже булевы значения. и их можно получить булевыми же операторами.
например, отрицанием из 1 получить из 0 а из нуля - единицу.
В конце скастовать в инт.
Спасибо, все работает.
 

Фанат

oncle terrible
Команда форума
я, кстати, так и не понял, что ты имел в виду под $s !== null
 

craz

Нестандартное звание
я, кстати, так и не понял, что ты имел в виду под $s !== null
)))

ты не поверишь... но я разницу без запуска кода между != и !== так для себя на все 100% не уяснил) Вы недавно спорили чем запутали мене еще пуще прежнего... То есть я пишу практически всегда только == или != и не допускаю поведения отличного от моего ожидания в зависимости от входящих данных...

вроде как он проверяет на существование(это было бы логично)... вообще должно бы быть isset даже а не !==, но я упрощал именно его код..., а не придумывал дополнительные условия
 

craz

Нестандартное звание
не ну в чем разница?
а нуда !== тип проверяет, да?
значит там все таки надо !=.
Просто не строгая типизация языка мной предполагает не возиться с типами при сравнении. не?
 

Фанат

oncle terrible
Команда форума
ну да, написать ($s != NULL) вместо (!$s) - это упростить, ага
 
  • Like
Реакции: craz
Сверху