PHP / Asterisk AGI Подсчитать количество цифр из GetData

Я пытаюсь подсчитать количество цифр, которые звонящий вводит при появлении запроса. Если количество вводимых цифр не равно 10, я бы хотел вернуть его в начало файла. Если количество введенных цифр равно 10, я бы хотел продолжить выполнение программы. С приведенным ниже кодом, независимо от того, что вводят абоненты, он всегда возвращается к началу. Кто-нибудь может дать мне некоторое представление здесь?

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);
    }
}

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);
   }
}
Другие вопросы по тегам