这条PHP行是什么意思?

时间:2014-11-25 03:51:34

标签: php

有人可以向我解释一下这条PHP行正在做什么吗?

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

2 个答案:

答案 0 :(得分:0)

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

它将名为$ fileName的变量设置为$ _POST [self :: $ PARAM_FILE_NAME]的值或null。另一种写作方式是:

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

如果没有设置$ _POST中的键,这可以避免出现警告,这样你会得到更简单的版本:

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

答案 1 :(得分:0)

该行只是简写的php if|else语句。

扩展,它看起来像这样:

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

您可以详细了解here

它基本上是一个较短的变量赋值。