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