我必须为大量会话变量执行以下操作,有没有办法可以缩短此代码以应用于所有变量而不是重复写出if(!isset($ _ SESSION ['whatever'])并将适当的错误添加到errors数组中。
if(!isset($_SESSION['fiat'])) {
$errors[fiat] = 'Please enter valid amount';
}
if(!isset($_SESSION['contact'])) {
$errors[contact] = 'Please enter valid contact';
}
if(!isset($_SESSION['name'])) {
$errors[name] = 'Please enter valid name';
}
我已经尝试过for循环和数组的一些东西,但即使经过一些严肃的谷歌搜索,我真的很挣扎,所以任何帮助都非常感激。 谢谢!
我现在制作了以下数组,但我不确定如何使用它:
$errors = array(
$_SESSION['fiat'] => 'Please enter valid amount',
$_SESSION['contact'] => 'Please enter valid contact',
$_SESSION['name'] => 'Please enter valid name',
);
我会做以下事情吗?不确定之间会发生什么。
for(!isset($errors)){
}
答案 0 :(得分:2)
您可以做的是:
$errors = array();
// List all session parameters and error messages you want to check here
$valuesToCheck = array(
'fiat' => 'Please enter valid amount',
'contact' => 'Please enter valid contact'
// and so on...
);
// Loop through all values you want to check and validate it. if validation doesn't pass add error message to $errors array.
foreach ($valuesToCheck as $k => $v) {
if(!isset($_SESSION[$k])) {
$errors[$k] = $v;
}
}
// Check if after the validation array with errors is not empty then deal with it.
if (!empty($errors)) {
// Do something with errors here
}
PS:我认为在开始编写代码之前,您应该了解有关软件开发基础知识的更多信息。这对你的职业生涯很有用。