谁能把这个翻译成普通英语? PHP翻译?

时间:2009-08-31 17:36:39

标签: php

我正在修改支付网关的一些现有代码,我不确定这意味着什么。它是否会说类似于从网关返回的数组的第4个元素?如果有人能告诉我它意味着什么,那将是一个很大的帮助。

$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0;
$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : "";

任何帮助都将不胜感激。

谢谢, JK

11 个答案:

答案 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 = "";
}

这意味着:

  • 如果$ authNetCodes数组中的index = 4处有值,则将此值放在$ transactionID
  • else,在$ transactionID
  • 中输入0

并且,对于第二个条件:

  • 如果$ authNetCodes中的index = 3处有值,则将其值放入$ transactionMessage
  • 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;
}