Пояснение к коду php с оператором if - PullRequest
0 голосов
/ 29 июня 2019

У меня есть такой код, который может помочь мне понять, как работает логика условий в этом

$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';

Ответы [ 2 ]

2 голосов
/ 29 июня 2019

У вас есть два 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 возвращает "отрицательный".

1 голос
/ 29 июня 2019

Просто подумайте «если» перед каждым (, «тогда» для каждого ? и «еще» для каждого :

Это называется оператор тенара

...