我有这样的代码,有人能帮我弄清楚条件逻辑是如何工作的吗?
$environment = ( $this->environment == "yes" ) ? 'TRUE' : 'FALSE';
// Decide which URL to post to
$environment_url = ( "FALSE" == $environment )
? 'https://api.ewaypayments.com/AccessCodes'
: 'https://api.sandbox.ewaypayments.com/AccessCodes';发布于 2019-06-29 06:47:18
您有两个ternary if statements。尽管它们看起来与传统的if语句不同,但它们的操作方式是相同的。
逐行--这段代码是这样工作的:
$environment = ( $this->environment == "yes" ) ? 'TRUE' : 'FALSE';这是完全相同的
if($this->environment == "yes"){
$environment = 'TRUE';
}else{
$environment = 'FALSE';
}所以现在$environment已经设置好了。如果使用,则返回下一个三元组
$environment_url = ( "FALSE" == $environment )
? 'https://api.ewaypayments.com/AccessCodes'
: 'https://api.sandbox.ewaypayments.com/AccessCodes';如果满足以下条件,则与此完全相同:
if ($environment == 'FALSE'){
$environment_url = 'https://api.ewaypayments.com/AccessCodes';
}else{
$environment_url = 'https://api.sandbox.ewaypayments.com/AccessCodes';
}语句中的?向php表明这是一个ternary条件。:左边的condition是当statement返回“正”时发生的事情。右边的condition是当statement返回"negative“时发生的事情。
发布于 2019-06-29 06:53:23
只需在每个(前面加上一个"if“,为每个?加上一个"then”,为每个:加上一个“else
它被称为tenary operator
https://stackoverflow.com/questions/56813776
复制相似问题