PHP解释器在if(“test”中做什么

PHP解释器在if(“test”中做什么,php,if-statement,Php,If Statement,我在客户代码中发现的一个bug背后有一个小问题。有一个PHP if语句,每次都是真的。有点像 if("test"){ } PHP解释器到底做什么?例如,如果“test”可以存储在RAM中,或者如果“test”=“test”?感谢您的帮助:)PHP解释器将“test”转换为其布尔值(在本例中为true)。 以下值被认为是错误的: 0,false,0.0,-0.0,空数组,空字符串“”,“0”,null和SimpleXML对象(如果从没有属性的元素创建)。它为true,因为它是

我在客户代码中发现的一个bug背后有一个小问题。有一个PHP if语句,每次都是真的。有点像

if("test"){
}

PHP解释器到底做什么?例如,如果“test”可以存储在RAM中,或者如果“test”=“test”?感谢您的帮助:)

PHP解释器将“test”转换为其布尔值(在本例中为true)。 以下值被认为是错误的:
0,false,0.0,-0.0,空数组,空字符串“”,“0”,null和SimpleXML对象(如果从没有属性的元素创建)。

它为true,因为它是a,检查$x与PHP函数case$x=“PHP”的比较/if($x)。它执行与
if
相同的操作-它检查该表达式的值是真实的还是虚假的。谢谢!:)