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); 
    } 
} 
関連する問題