For example, in js you can write:
const complexEvaluated = someEvaluation() && false // false const finalCount = complexEvaluated || 0 // zero
It's great to be able to quickly create fallbacks and immediately and visibly ensure that a variable has a value.
In php, short circuit fallthrough doesn't work exactly the same way:
<?php $complexEvaluated = someEvaluation() || 7; // boolean true $finalCount = countUp() || 0; // boolean true
Instead it is necessary to use null coalescing, usually:
<?php $complexEvaluated = someEvaluation() ?? 7; // 7 $complexEvaluated = someEvaluationToFalseOrZero() ?: 44; // 44 $finalCount = countUp() ?? 0; // 0
And you essentially have to use a different operator for falsy outcomes vs null outcomes, the short ternary
?: vs the null coallescing operator
In another post I will cover the equivalent of js destructuring in php, or as close as you can get (spoiler: It's useful, but not as useful as js destructuring).