Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php没有';使用本地语言键入时,无法将数字参数识别为mac上的数字_Php_Laravel_Fonts - Fatal编程技术网

php没有';使用本地语言键入时,无法将数字参数识别为mac上的数字

php没有';使用本地语言键入时,无法将数字参数识别为mac上的数字,php,laravel,fonts,Php,Laravel,Fonts,我正在尝试使用php验证一些ajax请求参数,它在Windows上运行良好。 在MAC电脑上,当我用英文键盘键入数字时,它可以正常工作,但当我切换到英语以外的本地语言时,php无法将数值识别为数字,我会收到一个验证错误 我编写此简单代码是为了检查php是否将参数视为数字: echo is_numeric($request->input('mobile')) ? 'yes' : 'no' ; 当我用本地语言(波斯语)输入时,它总是返回no。你知道哪里不对吗 您是否尝试过交换脚本的字符集

我正在尝试使用
php
验证一些
ajax
请求参数,它在Windows上运行良好。 在MAC电脑上,当我用英文键盘键入数字时,它可以正常工作,但当我切换到英语以外的本地语言时,
php
无法将数值识别为数字,我会收到一个验证错误

我编写此简单代码是为了检查
php
是否将参数视为数字:

echo is_numeric($request->input('mobile')) ? 'yes' : 'no' ; 

当我用本地语言(波斯语)输入时,它总是返回
no
。你知道哪里不对吗

您是否尝试过交换脚本的字符集

header('Content-Type: text/html; charset=utf-8');

波斯php解析器之谜您检查过
$request->input('mobile')
的值吗?试试
var\u dump($request->input('mobile'))
例如,空格之类的东西可能会影响
is\u numeric()
的输出。另外,不要使用
is\u numeric()
。请改用。@Sherif是的,没有额外的字符,但它用本地字体显示它们,我认为这是不接受它们的原因,因为数字元素在这个等式中没有位置。您要查找的是可能影响结果的不可打印字符或空白字符。这可以包括从NUL字节到空格或非空格字符的任何内容。我建议使用
var\u dump()
检查的原因是
var\u dump()
不仅显示值,还告诉您字符串的长度(以字节为单位)。因此,例如
var\u dump(“123\0\0\0”)
为您提供
string(6)“123”
请注意此处的
6
。这对于调试这个非常重要。要获取不可见字符,请对十六进制rep使用
bin2hex(“123\0\0\0”)