2013-05-08 2 views
-2

나는이 세 개의 ID 번호 $ 아이디 = 'AA-2365' $ 아이디 = 'A1-2365' $ 아이디 = 'AA-2 & 65'foreach는 루프와 PHP에서 함수를 만듭니다

id는 항상 두 글자로 시작하며 $ prefix 다음에 구분 기호가 붙은 다음 $ 접미사로 저장되어야하는 정수로 저장해야합니다. 구분 기호는 대시, 슬래시 또는 점으로 지정할 수 있습니다. id 문자열을 인수로 받아들이는 PHP 함수를 만들어야합니다. ID가 유효하면 함수는 접두어 및 접미사 값이 들어있는 배열을 반환해야합니다. 유효하지 않으면 함수는 FALSE를 리턴해야합니다. 위의 세 가지 ID가 포함 된 배열을 만들어야합니다. 이제 검증 기능에 각각의 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 루프를 만들 수 있지만 작동하지 않고 메신저 어떤 아이디어를하시기 바랍니다 붙어 . 내가

+0

위 코드가 어떻게 작동하지 않는지 구체적으로 설명해 주시겠습니까? 또한 질문을 업데이트하여 원하는 출력을 표시합니까? 결과 배열을 어떻게 구조화 할 계획입니까? –

+1

그래서 기본적으로 regex는'/^[a-z] {2} [\ - \ /.] \ d {4} $/i' 작업을 수행해야합니다. – HamZa

+0

두 번째 예제 id'$ id = 'A1-2365''는 접두사가 2 글자 인 상태에서 A1으로 시작합니다. –

답변

2

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

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

을 변경하려고 사전에 그것을 하루 종일

감사하고 도움이 필요 그렇게 할 수 있습니다 $의 ID1, $의 ID2와 $ ID3을 통해 루프. 이제 $ idmain이 의미하는 바가 전혀 없습니다.

+0

미안 내가 분명히 wasnt하는. 그 특별한 방식으로 응답되어야하는 그것의 대학 질문과 메신저. 위에 나열된 단계를 따라야합니다. – leelnj

관련 문제