gpt4 book ai didi

php - 如果 null 在 PHP 的一行中使用其他变量

转载 作者:IT王子 更新时间:2023-10-28 23:56:30 25 4
gpt4 key购买 nike

PHP 中是否有类似于 JavaScript 的东西:

alert(test || 'Hello');

因此,当 test 未定义或为 null 时,我们将看到 Hello,否则 - 我们将看到 test 的值。

我在 PHP 中尝试过类似的语法,但它似乎无法正常工作......而且我也不知道如何用谷歌搜索这个问题......

谢谢

编辑

我应该补充一点,我想在数组中使用它:

$arr = array($one || 'one?', $two || 'two?'); //This is wrong

但事实上,我可以使用内联 '? :' if 语句也在这里,谢谢。

$arr = array(is_null($one) ? "one?" : $one, is_null($two) ? "two ?" : $two); //OK

最佳答案

你可以做 echo $test ?: 'hello';

如果为真,这将回显 $test,否则回显 'hello'

注意 如果 $test 没有设置但是...它会抛出一个通知或严格错误...

这应该不是问题,因为大多数服务器都设置为忽略这些错误。大多数框架都有触发这些错误的代码。


编辑:这是经典 Ternary Operator , 但中间部分被遗漏了。自 PHP 5.3 起可用。

echo $test ? $test : 'hello'; // this is the same
echo $test ?: 'hello'; // as this one

这只检查第一个变量的真实性,而不检查它是否未定义,在这种情况下它会触发 E_NOTICE 错误。对于后者,请查看下面的 PHP7 答案(很快就会在上方)。

关于php - 如果 null 在 PHP 的一行中使用其他变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com