2013-05-08 76 views
-2

我有三個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

回答

2

嘗試改變

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

相關問題