Когда я хочу преобразовать числовую строковую переменную в целое число в php, возвращаемое значение равно нулю. Я использовал все способы, чтобы преобразовать это! такие как: (int), (integer), intval (), settype (), eval () и т. д. — все они возвращают ноль!
var_dump($myVariable)
печатает следующее:
string(4) "۲۹"
Другая распространенная ошибка — попытка привести строковую переменную, которая содержит числа, но начинается с нуля, т.е.
string(5) " 358"
Чтобы решить эту проблему, я использовал санитарный номер filter_var INT, выполняя это:
$myVariable = filter_var($myVariable, FILTER_SANITIZE_NUMBER_INT);
Я нашел это! перед преобразованием строки в целое число я должен преобразовать арабское число в английский, используя эту функцию:
function convert($string) {
$persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
$num = range(0, 9);
return str_replace($persian, $num, $string);
}
Теперь я могу преобразовать это!
спасибо от кингкеро.