这确实是两个不同的问题,因为例子不同。
Example 1
这种办法非常简单。
$count ?: 10
相当于:
count or 10
解释:在P?:
上,如果第一种价值是假的,如<代码回归代码>/代码>或</code>,则操作人的价值即为正确价值。
Example 2
$a ?? $b ?? 7
难以在PHP、$a
和/或$/code>中加以界定,在这种情况下,如果两者不明确,所退还的价值为$
-或7
。
基本上,PHP的<代码>?的操作者是代位词中的isset(
)和isset(<>
>也具有允许变数不明确的特殊财产。
购买力平价能够做到这一点的一件事是,变数必须用美元签字预先计算——这样,主人就可以知道,未经承认的识别标志意在成为一种尚未申报的变称。
A close 相当于:
a if a is not None else b if b is not None else 7
就像你在一次发言中能够做到的那样接近。 然而,由于在座标语中有一些nes语,因此,它有点令人迷惑,因为它难以读懂。 如果尚未申报单或桶吨数,则会失败。 如果你需要支持这一设想,那么你将不得不改写其他法典。
Generally, it is bad practice in Python (not to mention difficult to achieve) to write code where you are using a variable that may not have been declared yet, and the code should be written so you don t encounter this situation.
Alternative situation
It wasn t specified in the question, but let s say the reason you don t know if a value is defined or not is that it s an entry in a dict (PHP equivalent of associative array).
That is, let s say a is item[ someoption ]
and b is item[ someotheroption ]
在这种情况下,dict.get()
就显得多余,因为如果该字句没有与该钥匙有关的物品,你可以说明背负价值。 也就是说,如果<条码>某些行文条码>作为项目的关键存在,你可以使用<条码>项目(即,第7条)条码>。
如果你想像你这样一劳永逸地检查你可以使用的话
item.get( someoption , item.get( someotheroption , 7))