Есть несколько способов упростить эту проблему.
Вот один из подходов:
$fields = array('field1','field2','field3','field4','field5'); // Add all your field names to an array
$data = array();
foreach ($fields as $field) {
if (isset($_POST[$field])) {
$data[$field] = $_POST[$field];
// If you wanted it assigned to a local variable instead,
// you could do it like this, although this pattern is
// generally frowned upon:
${$field} = $_POST[$field];
}
}
Опасность назначения его в качестве локальной переменной заключается в том, что он может перезаписать переменную, которая уже существует. Это может потенциально перезаписать что-то важное для остальной части приложения. Однако, поскольку имена полей явно определены в массиве, вы по крайней мере сохраняете контроль над этим.
Вы определенно НЕ хотите перебирать массив $ _POST и назначать каждый ключ массива локальной переменной - это сделает вас широко открытыми для хакеров.