Я взволнован возможностями нулевого оператора Coalesce (оператора ??), появившегося в PHP 7. Однако я не понимаю всех случаев.
Каким будет мой результат для следующих случаев?
function NC($x){
$y = array();
$y['test'] = $x;
$returnThis = $y['test'] ?? "Foo";
return $returnThis;
}
echo(NC(NULL)); // I know this will return "Foo".
/* But I have no clue about what these will return. */
echo(NC(0));
echo(NC(-1));
echo(NC(""));
echo(NC(array()));
случаи:
NC(NULL); // This returns "foo".
NC(0); // Returns 0
NC(-1); // Returns -1
NC(""); // Returns ""NC(array()); // Returns empty array
В отличие от других случаев, в которых определенные значения будут обрабатываться так же, как и null, оператор null этого не делает. Это ноль, и только ноль, который вызовет замену.
Других решений пока нет …