Syntax 控制语句中的表达式

Syntax 控制语句中的表达式,syntax,programming-languages,Syntax,Programming Languages,我从未在if语句或其他控制结构(例如PHP)中使用过以下类型的表达式: 我通常在if语句中检查这种赋值表达式之前,先将其取出并求值 我的问题是: 这种技术有名字吗 赋值($p=someFunction())之后可以测试哪些类型?(例如,仅返回true/false或实际类型SomeFunction) 对于大多数语言来说,这是推荐的、安全的,并且期望类似的行为吗 您可以使用赋值表达式的返回值来命名它吗 你为什么总问这个?您必须检查您的语言是否支持这种代码。大多数类似C的语言返回分配给左边变量的值,

我从未在if语句或其他控制结构(例如PHP)中使用过以下类型的表达式:

我通常在if语句中检查这种赋值表达式之前,先将其取出并求值

我的问题是:

  • 这种技术有名字吗
  • 赋值($p=someFunction())之后可以测试哪些类型?(例如,仅返回true/false或实际类型SomeFunction)
  • 对于大多数语言来说,这是推荐的、安全的,并且期望类似的行为吗

您可以使用赋值表达式的返回值来命名它吗


你为什么总问这个?您必须检查您的语言是否支持这种代码。大多数类似C的语言返回分配给左边变量的值,因此它可以是任何类型。

供您参考:。@ladaghini哇,这些都是需要记忆的大表;)请注意,当使用严格相等运算符(
==
!==
)时,必须仔细编码条件表达式。如我给出的链接所示,
1===TRUE
将计算为
FALSE
,尽管1有一个“truthy”值<代码>=和
==不测试“真实性”;它们测试同一类型内的相等性。如果您想保持值的真实性,请尝试
echo$值
。其他编程语言的真实性表可能不同。
if ( ( $p = someFunction() ) !== false ) {
        // Use $p
}