2014-11-25 105 views
-1

有人可以向我解釋這條PHP線路在做什麼?這條PHP線是什麼意思?

$fileName = (isset($_POST[self::$PARAM_FILE_NAME])) ? $_POST[self::$PARAM_FILE_NAME] : null; 
+1

如果$ PARAM_FILE_NAME參數已由POST請求設置,則將其值分配給$ fileName否則將null分配給$ fileName – Satya 2014-11-25 03:53:21

+0

http://php.net/manual/en/language.operators.comparison.php#language。 operators.comparison.ternary < - 三元運算符。文檔中的示例與您的示例相同。 – 2014-11-25 03:53:38

+0

https://stackoverflow.com/questions/889373/quick-php-syntax-question – 2014-11-25 03:56:00

回答

0

這條線是根本速記php if|else聲明。

擴大,它應該是這樣的:

if(isset($_POST[self::$PARAM_FILE_NAME])) { 
    $fileName = $_POST[self::$PARAM_FILE_NAME]; 
} else { 
    $fileName = null; 
} 

你可以閱讀更多關於它here

它基本上是一個較短的變量分配。

0
$fileName = (isset($_POST[self::$PARAM_FILE_NAME])) ? $_POST[self::$PARAM_FILE_NAME] : null; 

它集名爲$文件名中的變量的$ _ POST [自:: $ PARAM_FILE_NAME]或爲空或者值。把它寫的另一種方法是:

if (isset($_POST[self::$PARAM_FILE_NAME])) 
    $fileName = $_POST[self::$PARAM_FILE_NAME]; 
else 
    $fileName = null; 

這避免瞭如果$ _POST關鍵是沒有設置這將您與更簡單的版本得到一個警告,:

$fileName = $_POST[self::$PARAM_FILE_NAME];