使用foreach循环在php中创建函数

使用foreach循环在php中创建函数,php,function,loops,foreach,Php,Function,Loops,Foreach,我有三个身份证号码 $id='AA-2365' $id='A1-2365' $id='AA-2和65' id始终以两个字母开头,并应存储为$prefix 后跟一个分隔符,然后是一个整数,该整数应存储为$suffix。分隔符可以是破折号、正斜杠或点。 我需要创建一个接受id字符串作为参数的php函数。 如果id有效,函数应返回一个包含前缀和后缀值的数组。如果无效,函数应返回FALSE。 我需要创建一个包含上述三个ID的数组。现在创建一个foreach循环,将每个id传递给验证函数,并回显一条消息,

我有三个身份证号码 $id='AA-2365' $id='A1-2365' $id='AA-2和65'

id始终以两个字母开头,并应存储为$prefix 后跟一个分隔符,然后是一个整数,该整数应存储为$suffix。分隔符可以是破折号、正斜杠或点。 我需要创建一个接受id字符串作为参数的php函数。 如果id有效,函数应返回一个包含前缀和后缀值的数组。如果无效,函数应返回FALSE。 我需要创建一个包含上述三个ID的数组。现在创建一个foreach循环,将每个id传递给验证函数,并回显一条消息,说明该id是否有效

我试过了

function validator($id1,$id2,$id3){
$to_replace = array('.','/');
$clean = str_replace($to_replace, '-', $id1,$id2,$id3);


$split = explode('-', $clean);


$prefix = $split[0];
$suffix = $split[1];
foreach ($idmain as $value) {
    if (ctype_alpha($prefix) && ctype_digit($suffix)) {
    $valid ="id =$id is valid";
} else {
    $valid = "id =$id is not valid";
}
return $valid;
}
但它不起作用,我被卡住了 有什么想法吗。我需要帮助整天都在做这件事

提前感谢

尝试更改

foreach ($idmain as $value) {
  if (ctype............
进入

($i=0;$i<3;$i++)的
{
$value=$($id.$i);
如果(ctype。。。。。。。。。。。。
因此,您可以循环使用$id1、$id2和$id3。
因为现在我真的不知道$idmain应该是什么意思。

你能具体解释一下上面的代码是如何不起作用的吗?另外,你能更新你的问题以显示你想要的输出吗?你打算如何构造结果数组?所以基本上使用正则表达式应该完成这项工作
/^[a-z]{2}[\-\/.]\d{4}$/i
。您的第二个示例id
$id='A1-2365'
以A1开头,而您声明前缀是2个字母。@nl-x我认为该id不会通过验证程序,对于
AA-2&65
@HamZaDzCyberDeV也是如此。我甚至没有注意到这一个。好的,如果我不清楚,这是有意义的。这是一个关于h的大学问题如果你想用那种特殊的方式来回答,我就卡住了。它必须遵循上面列出的步骤
for ($i = 0; $i < 3; $i++) {
  $value = $("id" . $i);
  if (ctype............