2017-04-11 112 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

變化''如果我 –

+0

已使用的變化,並沒有幫助($ numlength <10)''到如果($ numlength!= 10)。無論如何,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); 
    } 
}