2009-08-31 9 views
1

Je travaille sur la modification d'un code existant pour une passerelle de paiement et je ne suis pas sûr de ce que cela signifie. Est-ce qu'il dit quelque chose comme le 4ème élément du tableau qui revient de la passerelle? Si quelqu'un peut me dire ce que cela signifie, ce serait une grande aide.Quelqu'un peut-il traduire cela en anglais? Traduction PHP?

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

Toute aide serait appréciée.

Merci, JK

Répondre

7

C'est une paire d'opérations ternaires.

$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0; signifie:

IF authNetCodes $ [4] a une valeur (isset) PUIS $ transactionID = $ authNetCodes [4] AUTRE $ TransactionID = 0.

$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : ""; moyens :

IF $ authNetCodes [3] a une valeur (isset) ALORS $ transactionMessage = $ authNetCodes [3] ELSE $ transactionID = "" (chaîne vide).

+0

Merci. Je suis sûr que d'autres ont la même chose ou similaire, mais celui-ci est le plus clair pour moi de toute façon. Bien joué. Et mes remerciements! – user80151

+0

Content de pouvoir aider! –

2

Si le 5ème élément du tableau authNetCodes est réglé, que la valeur de $ transactionID fixé autrement à 0.

histoire même avec $ transactionMessage sauf qu'il sera établi à une chaîne de longueur nulle.

La construction <boolean expression> ? <if true> : <if false> est juste un raccourci pour une structure if-else simple.

+0

Et merci pour le rappel qu'il est en fait le 5ème élément. Ce n'était pas un film? Merci pour votre aide! – user80151

+0

yup - Bruce Willis et Milla Jovovich. Bon film. –

1

Le code utilise la forme courte if/else: (condition ? if true : if false)

Dans ce cas, il est la mise $transactionID-$authNetCodes[4] si elle existe, ou 0 si elle ne fonctionne pas. Il définit $transactionMessage à $authNetCodes[3] s'il existe, ou une chaîne vide si ce n'est pas le cas.

1

juste une déclaration assign

si $ authNetCodes [4] a une valeur fixée cette valeur à $ transactionID autre initialiserez $ transactionID égal à 0.

son même pour l'autre déclaration.

1

si $ authNetCodes [4] est réglé (non nul) alors $ transactionID = $ authNetCodes [4] autre $ transactionID = 0

si $ authNetCodes [3] est réglé (non nul) alors $ transactionMessage = $ authNetCodes [3] autre $ transactionMessage = "" // chaîne vide

1

Cette

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

Ca n être lu comme

if (isset($authNetCodes[4])) 
{ 
    $transactionID = $authNetCodes[4]; 
} 
else 
{ 
    $transactionID = 0; 
} 

De même, ce

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

peut être lu comme

if((isset($authNetCodes[3]))) 
{ 
    $transactionMessage = $authNetCodes[3]; 
} 
else 
{ 
    $transactionMessage = ""; 
} 

En clair, les deux fragments de code disent « si cet élément de tableau est défini, assignez la valeur de cet élément de tableau à cette variable, sinon assigner d'autres valeurs (0 et et chaîne vide). La construction ? : est appelée opérateur ternary.

+1

La première déclaration de votre autre bloc de code doit être: $ transactionID = 0; – Jeff

+0

Merci, ça devrait être réparé! –

1
$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0; 

Set transactionId au 5ème élément de authNetCodes si elle est définie, sinon 0

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

Set transactionMessage de $ au 4ème élément de authNetCodes si elle est définie, sinon une chaîne vide.

1

Première:

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

Cela signifie que, si le cinquième élément de authNetCodes $ (rappelez-vous, les tableaux sont indexés à zéro!) A une valeur, puis définissez $ transactionID à cette valeur. Dans le cas contraire, réglez $ transactionID à 0.

Deuxième:

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

De même, si le quatrième élément de authNetCodes a une valeur, définissez $ transactionMessage à cette valeur. Sinon, définissez $ transactionMessage sur une chaîne vide.

En ce qui concerne l'origine de $ authNetCodes, ce code ne le dit pas.

1

Ce code peut être réécrite ainsi:

if (isset($authNetCodes[4])) { 
    $transactionID = $authNetCodes[4]; 
} else { 
    $transactionID = 0; 
} 

if (isset($authNetCodes[3]) { 
    $transactionMessage = $authNetCodes[3]; 
} else { 
    $transactionMessage = ""; 
} 

Ce qui signifie:

  • s'il y a une valeur à l'indice = 4 dans le tableau authNetCodes $, puis mettre cette valeur en $ transactionID
  • autre, mettre 0 en $ transactionID

Et, pour la deuxième condition:

  • s'il y a une valeur à l'indice = 3 $ authNetCodes, puis mettre sa valeur en $ transactionMessage
  • autre, mettre une chaîne vide dans $ transactionMessage


En PHP, le "?:" est le Ternary Operator

1

$ valeur transactionID est la suivante: (Si $ authNetCodes [4] a une valeur, sa valeur est, sinon 0.) $ transactionMessage est: (Si $ authNetCodes [3 ] A une valeur, sa valeur est, sinon "".)

1

L'opérateur <condition expr>?<true expr>:<false expr> est le conditional operator. Si <condition expr> est vrai, <true expr> est évalué, <false expr> autrement.

Votre déclaration

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

est le même que

if (isset($authNetCodes[4])) { 
    $transactionID = $authNetCodes[4]; 
} else { 
    $transactionID = 0; 
}