在PHP中创建一个函数foreach循环

问题描述:

我有三个ID号 的$ id = 'AA-2365' 的$ id = 'A1-2365' 的$ id = 'AA-2 & 65'在PHP中创建一个函数foreach循环

该ID总是以两个字母开头,并且应该存储为$前缀 ,后跟一个分隔符,然后是一个应存储为$后缀的整数。分隔符允许为破折号,正斜杠或圆点。 我需要创建一个接受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; 
} 

,但它不工作和IM卡 任何想法,请。我需要帮助了它整天

在此先感谢

+0

你能否具体解释上述代码不起作用?此外,你会更新你的问题,以显示你想要的输出。你打算如何构造结果数组? – 2013-05-08 22:20:49

+1

所以基本上使用正则表达式应该做'/^[a-z] {2} [\ - \ /。] \ d {4} $/i'这个工作。 – HamZa 2013-05-08 22:21:15

+0

您的第二个示例id'$ id ='A1-2365''以A1开头,而您声明前缀为2个字母。 – 2013-05-08 23:12:07

尝试改变

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

for ($i = 0; $i < 3; $i++) { 
    $value = $("id" . $i); 
    if (ctype............ 

这样你就可以通过$ ID1,$ ID2和$ ID3循环。 因为现在我真的不知道$ idmain应该是什么意思。

+0

对不起,如果我不清楚。这是一个大学问题,必须以特定的方式回答,并且我坚持不懈。它必须遵循上面列出的步骤 – leelnj 2013-05-09 06:33:12