是否有更简洁的方法来检查数组值以防止 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'] : '';
有没有办法像 JavaScript 那样只提供一个默认值,就像这样?
user.email = response.email || '';
我不想隐藏通知,但这些丑陋的检查使我的代码变得困惑。我正在使用 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;
}
将它放在一个函数中还可以让您更轻松地进行额外的清理,例如,trim()
,如果需要的话。
您还可以传递将返回的默认值:
$flavor = getPost('flavor', 'vanilla'); // if $_POST['flavor'] is not set, 'vanilla' is returned
关于php - 定义默认数组值的最简洁的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855622/