【问题标题】:What is the shortest way to check if a variable exists and return an alternative in php?检查变量是否存在并在php中返回替代的最短方法是什么?
【发布时间】:2014-06-21 18:13:12
【问题描述】:

当我检查函数的返回值时,我通常会这样做:

$my_value = get_field('some_field');
$my_value = $my_value ? $my_value : get_field('backup');

在 Javascript 中,我通常使用 or (||) 来检查一个值,如果没有返回一个替代值,即

var my_value = get_field('some_field') || get_field('backup');

php 中是否有类似的东西?

【问题讨论】:

  • 三元运算符 ( A ? B : C ) 是除了像 A = B | 这样的二元运算之外最短的方法。 C
  • 它可能不适用,但您可以扩展 get_field 方法,以便能够提供可选的默认值,因此,您所要做的就是 $my_value = get_filed('some_field', get_field('backup'))
  • @Martin 不错!尽管在这个用例中它是一个外部函数。但我会记住这一点。
  • @BartłomiejWach A = B | C 是什么意思?在用例中从未见过这种情况。

标签: php conditional ternary-operator ternary


【解决方案1】:

更快:

$my_value = get_field('some_field') ?: get_field('backup');

注意它会测试get_field('some_field')是真还是假,如果为真,则返回其值,否则get_field('backup')...

【讨论】:

  • 很好,这就是我的目标。
  • 再次,确保 'some_field' 的值永远不会等于 false,例如 0 或 ''...
【解决方案2】:

嗯,你已经差不多了:

这对你有帮助:

$my_value = isset($my_value) ? $my_value : get_field('backup');

【讨论】:

    猜你喜欢
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 2012-08-29
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多