有人有T_PAAMAYIM_NEKUDOTAYIM吗?


当前回答

当你在PHP中对empty()函数应用常量时,也会出现这种情况:

if (!empty(SOME_CONSTANT)) {

}

那是我的案子。我用这个方法解决了这个问题:

$string = SOME_CONSTANT;
if (!empty($string)) {

}

其他回答

我很懂希伯来语,所以为了澄清“Paamayim Nekudotayim”这个名字,转述的意思是“双冒号”,但按字面翻译:

"Paamayim"的意思是"两个"或"两次" “Nekudotayim”的意思是“点”(点亮)。“洞”) 在希伯来语中,nekuda的意思是一个点。 复数形式是nekudot,即圆点,它的作用是元音 它被称为Nekudo-tayim的原因是因为后缀“-ayim”也意味着“两次”或“两次”,因此::表示“两次,两个点”,或更常见的范围解析操作符。

当你在PHP中对empty()函数应用常量时,也会出现这种情况:

if (!empty(SOME_CONSTANT)) {

}

那是我的案子。我用这个方法解决了这个问题:

$string = SOME_CONSTANT;
if (!empty($string)) {

}

这可能发生在foreach时使用:

foreach( $array as $key = $value )

而不是

foreach( $array as $key => $value )

它是双冒号操作符::(参见解析器令牌列表)。

编辑:不幸的是,从PHP 8.0开始,答案不再是“不,不再是”。这个RFC没有像我希望的那样被接受,建议将T_PAAMAYIM_NEKUDOTAYIM改为T_DOUBLE_COLON;但它被拒绝了。

注意:我保留这个答案是为了历史目的。实际上,由于RFC的创建和某些时候的投票比例,我创建了这个答案。另外,我保留这个,希望它在不久的将来被接受。