2014-11-25 101 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];