在php中将字符串转换为整数时返回零

在php中将字符串转换为整数时返回零,php,casting,Php,Casting,在php中将数字字符串变量转换为整数时,返回值为零。我用了各种方法来转换它!例如:(int),(integer),intval(),settype(),eval()等等。它们都返回零 var\u dump($myVariable)打印以下内容: string(4) "۲۹" 我找到了!在将字符串转换为整数之前,我应该使用以下函数将阿拉伯数字转换为英语: function convert($string) { $persian = array('۰', '۱', '۲', '۳', '۴', '

在php中将数字字符串变量转换为整数时,返回值为零。我用了各种方法来转换它!例如:(int),(integer),intval(),settype(),eval()等等。它们都返回零

var\u dump($myVariable)
打印以下内容:

string(4) "۲۹"

我找到了!在将字符串转换为整数之前,我应该使用以下函数将阿拉伯数字转换为英语:

function convert($string) {
$persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
$num = range(0, 9);
return str_replace($persian, $num, $string);
}
现在,我可以转换它了!
感谢kingkero。

另一个常见错误是试图强制转换包含数字但以零开头的字符串变量,即:

string(5) " 358"
为了解决这个问题,我使用了一个filter_var sanitizing number INT来执行以下操作:

$myVariable = filter_var($myVariable, FILTER_SANITIZE_NUMBER_INT);

你能发布你正在转换的字符串吗?它是函数的返回值这是它的链接:我使用的变量是:$month_length=jdate('t');我想将$month_长度转换为整数,并将其用作循环的索引,因为这根本没有帮助。请进行
var_dump($month_length)
并将结果发布到您的问题字符串(4)“۲۹”哦!我想这是因为返回值是UTF8!我怎样才能解决它?