2017-04-11 7 views
0

메시지가 나타나면 호출자가 입력 한 자릿수를 계산하려고합니다. 입력 된 자릿수가 10이 아니면 파일의 처음으로 돌아가고 싶습니다. 입력 된 자릿수가 10 인 경우 프로그램을 계속 실행하고 싶습니다. 아래의 코드를 사용하면 호출자가 입력 한 내용과 상관없이 항상 처음으로 돌아갑니다. 아무도 내게 여기 통찰력을 줄 수 없습니까?PHP/Asterisk AGI GetData의 자릿수 자릿수

begining: { 

    $agi->stream_file('file1'); 
    $result = $agi->get_data('beep', 6000, 10); 
    $numlength = mb_strlen(utf8_decode($result)); 
    if ($numlength < 10){ 
      goto begining; 
    } 

    else { 
     $number= $result['result']; 
     $agi->verbose("Number: ".$number); 
    } 
} 
+0

변경'만약의 경우 '에 ($의 numlength <10)'($의 numlength! = 10) 내가 그 변화를 사용하고 도움이되지 않았다' –

+0

. get_data 함수는 어쨌든 최대 10 자리까지만 입력 할 수 있습니다. 다른 아이디어? – squid

답변

1

배열의 어느 부분을 계산할지 지정해야합니다. $ result 변수에 [result]를 추가하십시오.

$agi->stream_file('file1'); 
$result = $agi->get_data('beep', 6000, 10); 
$numlength = mb_strlen(utf8_decode($result['result'])); 
    if ($numlength < 10){ 
      goto begining; 
    } 

    else { 
     $number= $result['result']; 
     $agi->verbose("Number: ".$number); 
    } 
}