как сделать 1 условие для 3 массивов в 1 функции?

Функция работает так, но я хочу получить одно условие вместо 3, так
проблема состоит в том, как превратить эти 3 условия в 1 условие для тех же 3 массивов: «имя», «имя» & «Орт» в функции?

Спасибо за помощь!

function check($felder = array()) {

$de = "<h2>Deine Eingaben:</h2>";
$probleme = array();if ($_SERVER["REQUEST_METHOD"] == "POST") {if (empty($felder["name"])) {
$probleme['name2'] = 'n/a';
$probleme['name'] = "Name ist auskunftspflichtig";
} else {
$probleme['name2'] = test_input($felder["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$probleme['name2'])) {
$probleme['name'] .= "Nur buchstaben und Leerzeichen sind erlaubt";
}
}

if (empty($felder["nachname"])) {
$probleme['nachname2'] = 'n/a';
$probleme['nachname'] = "Nachname ist auskunftspflichtig";
} else {
$probleme['nachname2'] = test_input($felder["nachname"]);
if (!preg_match("/^[a-zA-Z ]*$/",$probleme['nachname2'])) {
$probleme['nachname'] .= "Nur buchstaben und Leerzeichen sind erlaubt";
}
}

if (empty($felder["ort"])) {
$probleme['ort2'] = 'n/a';
$probleme['ort'] = "Ort ist auskunftspflichtig";
} else {
$probleme['ort2'] = test_input($felder["ort"]);
if (!preg_match("/^[a-zA-Z ]*$/",$probleme['ort2'])) {
$probleme['ort'] .= "Nur buchstaben und Leerzeichen sind erlaubt";
}
}

}
return $probleme;
}

0

Решение

Не так ли?

<?php

function check($felder = NULL)
{
if ($felder === NULL) {
$felder = array();
}

$de = '<h2>Deine Eingaben:</h2>';
$probleme = array();

// Keys in array:
$keynames = array('name', 'nachname', 'ort');if ($_SERVER['REQUEST_METHOD'] == 'POST') {

// For each keys:
foreach ($keynames as $keyname) {

if (empty($felder[$keyname])) {

$probleme[$keyname.'2'] = 'n/a';
$probleme[$keyname] = ucfirst($keyname).' ist auskunftspflichtig';

} else {
$probleme[$keyname.'2'] = test_input($felder[$keyname]);
if ( ! preg_match('/^[a-zA-Z ]*$/', $probleme[$keyname.'2'])) {
$probleme[$keyname] .= 'Nur buchstaben und Leerzeichen sind erlaubt';
}
}

}
}

return $probleme;
}
0

Другие решения

Пожалуйста, попробуйте это

function check($felder = array()) {
$de = "<h2>Deine Eingaben:</h2>";
$probleme = array();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
for ($i = 0; $i < count($felder); $i++) {
if (empty($felder[$i])) {
$probleme[$felder[$i].'2'] = 'n/a';
$probleme[$felder[$i]] = "Name ist auskunftspflichtig";
} else {
$probleme[$felder[$i].'2'] = test_input($felder[$i]);
if (!preg_match("/^[a-zA-Z ]*$/",$probleme[$felder[$i].'2'])) {
$probleme[$felder[$i]] .= "Nur buchstaben und Leerzeichen sind erlaubt";
}
}
}
}
return $probleme;
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector