douqiao2471 2014-09-15 10:54
浏览 36
已采纳

如何在1个函数中为3个数组创建1个条件?

The function works like this but I want to get one condition instead of the 3 so the problem is how to make these 3 conditions into 1 condition for the same 3 arrays: "Name", "Nachname" & "Ort" in a function?

thank you for your help!

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;
}
  • 写回答

2条回答 默认 最新

  • duancan1900 2014-09-15 11:03
    关注

    Isn't it?

    <?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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器