我正在查看页面中查找电子邮件。电子邮件可以通过两种方式到达那里。通过 POST 或 SESSION。如果它是 $_POST 那么我想使用 $_POST 电子邮件,否则我想使用会话中保存的电子邮件。目前我的代码如下
$email = (isset($_POST['email']) ? $_POST['email'] : '');
用最少的代码行最好的方法是什么
我正在查看页面中查找电子邮件。电子邮件可以通过两种方式到达那里。通过 POST 或 SESSION。如果它是 $_POST 那么我想使用 $_POST 电子邮件,否则我想使用会话中保存的电子邮件。目前我的代码如下
$email = (isset($_POST['email']) ? $_POST['email'] : '');
用最少的代码行最好的方法是什么
我猜你只是在寻找这个(假设电子邮件地址存储在$_SESSION
key 下的数组中email
):
$email = (isset($_POST['email']) ? $_POST['email'] : $_SESSION['email']);
还是我误解了你的问题?
尝试这个:
$email = (isset($_POST['email']) ? $_POST['email'] : (isset($_SESSION['email'])) ? $_SESSION['email'] : '');
这与以下内容相同:
if(isset($_POST['email'])) {
$email = $_POST['email'];
} else {
if(isset($_SESSION['email'])) {
$email = $_SESSION['email'];
} else {
$email = '';
}
}
一个有趣的替代@Gabriel Santos 的正确答案
$input = function($param, $default = '') {
static $input;
if (null === $input) {
$input = array_merge($_SESSION, $_POST);
}
return isset($input[$param]) ? $input[$param] : $default;
};
// get input
$email = $input('asd');