Mav*_*ick 3 php arrays associative-array conventions ternary-operator
是否有更简洁的方法来检查数组值以防止PHP通知?目前我这样做:
$email = (isset($_POST['user_email'])) ? $_POST['user_email'] : '';
$first_name = (isset($_POST['user_first_name'])) ? $_POST['user_first_name'] : '';
$last_name = (isset($_POST['user_last_name'])) ? $_POST['user_last_namel'] : '';
$birthday = (isset($_POST['user_last_name'])) ? $_POST['user_last_namel'] : '';
Run Code Online (Sandbox Code Playgroud)
有没有办法做像你只提供默认的JavaScript,像这样?
user.email = response.email || '';
Run Code Online (Sandbox Code Playgroud)
我不想压制通知,但这些丑陋的检查使我的代码混乱.我使用的是PHP 5.2.6.
您可以创建一个功能:
$email = getPost('user_email');
$first_name = getPost('user_first_name');
$last_name = getPost('user_last_name');
$birthday = getPost('user_birthday');
function getPost($key, $default = '')
{
if (isset($_POST[$key])) {
return $_POST[$key];
}
return $default;
}
Run Code Online (Sandbox Code Playgroud)
将它放在一个功能中也可以让你更容易地进行额外的消毒,例如trim(),如果需要的话.
您还可以传递将返回的默认值:
$flavor = getPost('flavor', 'vanilla'); // if $_POST['flavor'] is not set, 'vanilla' is returned
Run Code Online (Sandbox Code Playgroud)