我正在修改支付网关的一些现有代码,我不确定这意味着什么。它是否会说类似于从网关返回的数组的第4个元素?如果有人能告诉我它意味着什么,那将是一个很大的帮助。
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : "";
任何帮助都将不胜感激。
谢谢, JK
答案 0 :(得分:7)
这是一对三元手术。
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
表示:
IF $ authNetCodes [4]有一个值(isset) THEN $ transactionID = $ authNetCodes [4] ELSE $ transactionID = 0
$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : "";
表示:
IF $ authNetCodes [3]有一个值(isset)那么 $ transactionMessage = $ authNetCodes [3] ELSE $ transactionID =“ “(空字符串)。
答案 1 :(得分:2)
如果设置了authNetCodes数组的第5个元素,则将该值设置为$ transactionID,否则将其设置为0.
与$ transactionMessage相同的故事,除了它将被设置为零长度字符串。
<boolean expression> ? <if true> : <if false>
构造只是一个简单的if-else结构的简写。
答案 2 :(得分:1)
代码使用if / else的简短形式:(condition ? if true : if false)
在这种情况下,它会$transactionID
设置为$authNetCodes[4]
(如果存在),或0
(如果不存在)。如果它存在,它会将$transactionMessage
设置为$authNetCodes[3]
,如果不存在则设置为空字符串。
答案 3 :(得分:1)
它只是一个赋值语句
如果$ authNetCodes [4]的值设置为$ transactionID,则将$ transactionID设置为等于0。
其他声明也一样。
答案 4 :(得分:1)
如果$ authNetCodes [4]设置(非空)则 $ transactionID = $ authNetCodes [4] 其他 $ transactionID = 0
如果$ authNetCodes [3]设置(非空)则 $ transactionMessage = $ authNetCodes [3] 其他 $ transactionMessage =“”//空字符串
答案 5 :(得分:1)
此
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
可以读作
if (isset($authNetCodes[4]))
{
$transactionID = $authNetCodes[4];
}
else
{
$transactionID = 0;
}
同样,这个
$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : "";
可以读作
if((isset($authNetCodes[3])))
{
$transactionMessage = $authNetCodes[3];
}
else
{
$transactionMessage = "";
}
简单来说,两个代码片段都在说“如果设置了这个数组元素,则将该数组元素的值赋给该变量,否则分配一些其他值(0和空字符串)。? :
construct被称为ternary运算符。
答案 6 :(得分:1)
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
如果设置了transactionID,则将其设置为authNetCodes的第5个元素,否则为0
$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : "";
将$ transactionMessage设置为authNetCodes的第4个元素(如果已设置),否则为空字符串。
答案 7 :(得分:1)
首先:
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
这意味着,如果$ authNetCodes的第五个元素(记住,数组是零索引的!)有一个值,那么将$ transactionID设置为该值。否则,将$ transactionID设置为0。
第二
$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : "";
同样,如果authNetCodes的第四个元素有值,请将$ transactionMessage设置为该值。否则,将$ transactionMessage设置为空字符串。
就$ authNetCodes的来源而言,这段代码并未说明。
答案 8 :(得分:1)
这段代码可以这样重写:
if (isset($authNetCodes[4])) {
$transactionID = $authNetCodes[4];
} else {
$transactionID = 0;
}
if (isset($authNetCodes[3]) {
$transactionMessage = $authNetCodes[3];
} else {
$transactionMessage = "";
}
这意味着:
并且,对于第二个条件:
在PHP中,“?:
”是Ternary Operator
答案 9 :(得分:1)
$ transactionID值为:(如果$ authNetCodes [4]有值,则给出其值,否则为0.) $ transactionMessage是:(如果$ authNetCodes [3]有值,则给出它的值,否则为“”。)
答案 10 :(得分:1)
运营商 <condition expr>
?
<true expr>
:
< / strong> <false expr>
是conditional operator。如果 <condition expr>
true ,则评估 <true expr>
, <false expr>
否则。
您的陈述
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
与
相同if (isset($authNetCodes[4])) {
$transactionID = $authNetCodes[4];
} else {
$transactionID = 0;
}