0

ビューページでメールを探しています。電子メールがそこに到達する方法は2つあります。POSTまたはSESSIONのいずれかによって。$ _POSTの場合は、$ _ POSTメールを使用します。それ以外の場合は、セッションで保存されたメールを使用します。現在、私が持っているコードは以下のとおりです

$email = (isset($_POST['email']) ? $_POST['email'] : '');

少なくともコード行でそれを行うための最良の方法は何ですか

4

3 に答える 3

3

私はあなたがこれを探しているだけだと思います(電子メールアドレスが$_SESSIONキーの下の配列に格納されていると仮定しますemail):

$email = (isset($_POST['email']) ? $_POST['email'] : $_SESSION['email']);

それとも私はあなたの質問を誤解していますか?

于 2012-07-14T03:33:20.527 に答える
0

これを試して:

$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 = '';
    }
}
于 2012-07-14T03:41:21.073 に答える
0

@GabrielSantosの正解の面白い代替案

$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');
于 2012-07-14T08:20:55.197 に答える