Herkes düz ingilizce tercüme edebilir misiniz?

9 Cevap

Ben bir ödeme ağ geçidi için varolan bazı kod değiştirmeye çalışıyorum ve ben bu ne demek emin değilim. Geri geçidi gelen dizinin 4 elemanı gibi bir şey söylüyor? Birisi bana ne anlama geldiğini söyleyebilir eğer bu büyük bir yardım olacaktır.

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

Herhangi bir yardım mutluluk duyacağız.

Thanks, JK

9 Cevap

Bu üçlü operasyonların bir çift var.

$transactionID = (isset($authNetCodes[4])) ? $authNetCodes[4] : 0; şu anlama gelir:

IF $ authNetCodes [4] bir değer (isset) sahiptir THEN $ $ = Transactionıd authNetCodes [4] ELSE $ Transactionıd = 0.

$transactionMessage = (isset($authNetCodes[3])) ? $authNetCodes[3] : ""; şu anlama gelir:

IF $ authNetCodes [3] "" THEN $ transactionMessage = $ authNetCodes [3] ELSE $ TransactionID = (boş dize) bir değer (isset) sahiptir.

AuthNetCodes dizinin 5. elemanı ayarlı ise, bunu 0'a ayarlanır, aksi takdirde $ TransactionID bu değeri ayarlayın.

Bir sıfır uzunlukta dize ayarlanır dışında $ transactionMessage ile aynı hikaye.

<boolean expression> ? <if true> : <if false> yapısı basit bir if-else yapısı için sadece bir kısaltmadır.

(condition ? if true : if false): Kod kısa formu if / else kullanıyor

Eğer bu olmuyorsa, bu durumda, $transactionID, varsa $authNetCodes[4], ya da 0 ayarlıyor. Eğer bu olmuyorsa o $transactionMessage, varsa $authNetCodes[3] ayarını, ya da boş bir dize var.

bu sadece bir atama deyimi

$ authNetCodes [4] 0'a eşit $ TransactionID set else $ TransactionID bu değeri ayarlanmış bir değeri varsa.

onun diğer ifadesi için aynı.

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

Ayarlı ise authNetCodes 5. elemanına TransactionID ayarlayın, aksi takdirde 0

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

Ayarlı ise authNetCodes 4. elemanı, aksi takdirde boş bir dizeye $ transactionMessage ayarlayın.

Birincisi:

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

Bu $ authNetCodes beşinci element if (unutmayın, diziler sıfır endeksli vardır!), Yani o değere $ TransactionID ayarlanmış bir değeri vardır. Aksi takdirde, $ TransactionID 0'a ayarlanır.

İkincisi:

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

Aynı şekilde, authNetCodes dördüncü unsuru bir değeri varsa, bu değer $ transactionMessage ayarlayın. Aksi halde, boş bir dizeye $ transactionMessage ayarlayın.

Bildiğim kadarıyla $ authNetCodes nereden geldiği gibi, bu kod demiyor.

Bu kod bu şekilde yeniden yazılabilir:

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

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

Anlamı:

  • $ authNetCodes dizisindeki indeksi = 4 bir değer varsa, o zaman $ TransactionID bu değer koymak
  • else $ TransactionID içinde 0 koymak

Ve, ikinci durum için:

  • $ authNetCodes index = 3 bir değeri varsa, o zaman $ transactionMessage onun değerini koymak
  • else $ transactionMessage boş bir dize koymak


In PHP, the "?:" is the Ternary Operator

Operatör <condition expr> ? <true expr> : <false expr> is the conditional operator. <condition expr> is true, <true expr> is evaluated, <false expr> aksi takdirde.

Beyanı

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

aynıdır

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

Bu

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

Olarak okunabilir

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

Benzer şekilde, bu

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

olarak okunabilir

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

Düz ingilizce, hem de kod parçaları bu dizi elemanı ayarlanırsa, ? : oluşturmak. Aksi diğer bazı değerleri (0 ve ve boş dize) atamak, bu değişkene dizi öğesinin değerini atamak "diyorsun a ternary operatörü olarak adlandırılır.