cakephp: не понимаю утверждения, похожего на if else - PullRequest
0 голосов
/ 02 марта 2012

Я нашел следующий код в плагине forum_app_model.php плагина форума кексов:

/**
 * Validates two inputs against each other
 * @access public
 * @param array $data
 * @param string $confirmField
 * @return boolean
 */
public function isMatch($data, $confirmField) {
    $data = array_values($data);
    $var1 = $data[0];
    $var2 = (isset($this->data[$this->name][$confirmField])) ? $this->data[$this->name][$confirmField] : '';

   //== matches the values. Whereas === matches the values and the data type of the values
   //eg
    return ($var1 === $var2);
}

Может кто-нибудь сказать мне, что такое $ var2 = (isset ($ this-> data [$ this-> name] [$ verifyField]))? $ this-> data [$ this-> name] [$ verifyField]: ''; в вышеуказанной функции? Это выглядит как если бы еще что-то, но я не понимаю этого.

спасибо.

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

вы можете считать это утверждение

if(isset($this->data[$this->name][$confirmField])) 
{
    $var2 = $this->data[$this->name][$confirmField] 
}else{
    $var2 = '';
}

спасибо

0 голосов
/ 02 марта 2012

Это похоже на:


if(isset($this->data[$this->name][$confirmField])) {
    $var2 = $this->data[$this->name][$confirmField];
}
else {
    $var2 = '';
}

См .: Тернарный оператор php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...