本文将分享在php5中,如何阻止GET从(错误地)转换为数字?的详细内容,并且还将对php错误转异常函数进行详尽解释,此外,我们还将为大家带来关于Javascript:将字符串转换为数字?、MySQL
本文将分享在php5中,如何阻止GET从(错误地)转换为数字?的详细内容,并且还将对php错误转异常函数进行详尽解释,此外,我们还将为大家带来关于Javascript:将字符串转换为数字?、MySQL自动将字符串转换/转换为数字?、php – 如何将波斯语/阿拉伯数字从字符串转换为英文数字?、PHP-如何将字符串转换为包含数学运算的数字?的相关知识,希望对你有所帮助。
本文目录一览:- 在php5中,如何阻止GET从(错误地)转换为数字?(php错误转异常函数)
- Javascript:将字符串转换为数字?
- MySQL自动将字符串转换/转换为数字?
- php – 如何将波斯语/阿拉伯数字从字符串转换为英文数字?
- PHP-如何将字符串转换为包含数学运算的数字?
在php5中,如何阻止GET从(错误地)转换为数字?(php错误转异常函数)
相对于php int64 limits,如果uri具有int64参数,如何防止GET将其错误地转换为数字并将其简单地保留为字符串?
http://some.com?id=1707541557936130
然后
echo $_GET['id'] => 1.7075415579361E+15
如何防止这种情况,并使$_GET [‘id’]为字符串1707541557936130?
$_GET现在的工作方式已无法使用.我需要自行解析$_SERVER [“ QUERY_STRING”].但是从不知道PHP什么时候会获取变量并再次错误地转换.
注意:afaik这将是32位而非64位PHP安装上的问题.
解决方法:
_GET / _POST / _COOKIE发出的所有内容都是字符串.除非您执行了一些强制将其解释为数字的操作,否则该数据不会转换为数字.
echo $_GET['id']; // echoes your big number
echo $_GET['id'] + 0; // forces an int conversion
Javascript:将字符串转换为数字?
例如,我有
var str = "1";
我可以改成它吗?
var str = 1;
解决方法
(注意:第二个参数表示用于解析的基数;在这种情况下,您的数字将被解析为十进制)
尽管如此,在JavaScript中使用术语“类型”非常松散.你能解释为什么你关心变量的类型吗?
MySQL自动将字符串转换/转换为数字?
MySQL是否会自动将字符串转换为数字值?
转换如何进行?
- ‘1234’= 1234吗?
- ‘1abc’= 1?
- ‘文本’= 1?
给定那units.id
是bigint类型的,该查询将如何解释?
SELECT table.* FROM table WHERE id=''text''
答案1
小编典典前三个问题的答案是:是,是和否。
当字符串''text''
转换为数字时,它将成为value 0
。
描述类型转换的文档在这里。
对于您的查询:
SELECT table.* FROM table WHERE id=''text'';
该摘录摘自文档:
在所有其他情况下,将参数作为浮点数(实数)进行比较。
换句话说,这实际上等效于:
WHERE id = 0.0
php – 如何将波斯语/阿拉伯数字从字符串转换为英文数字?
我有一个波斯语的网站.我网站用户的键盘通常是波斯语(或阿拉伯语).所以他们的密码有时候不会匹配.
我有一个用户名(手机号码)功能,将波斯语/阿拉伯数字转换为英语:
function convert_digits_to_en($entry){
$fmt = numfmt_create('fa', NumberFormatter::DECIMAL);
return numfmt_parse($fmt, $entry);
}
如果条目包含所有数字,它将起作用.
即09123565498也将转换为09123565498.
问题是当条目包含字符和数字(如密码)时.即test0912.我需要将其转换为test0912.我当前的函数为该条目返回empty string.知道怎么解决它?
解决方法:
一个非正则表达式的解决方案是这样的:
function convert_digits_to_en($input)
{
$arabic = ['۰' => 0, '۱' => 1];
return strtr($input, $arabic);
}
echo convert_digits_to_en('test۱۰۰'); // test100
注意:您需要在数组中添加数字,我的波斯语/阿拉伯语不是那么好.
实例
Repl
阅读材料
strtr
PHP-如何将字符串转换为包含数学运算的数字?
这个问题已经在这里有了答案: > How to mathematically evaluate a string like “2-1” to produce “1”? 8个
我的意思是将“ 1 1”转换为:1 1.
我发现this answer表示您可以对字符串执行数学运算,如下所示:
$num = "10" + 1;
但是这里不一样,因为数学运算符在字符串内.
解决方法:
如果方程式非常简单,则可以使函数类似于以下内容:
function calcString($str)
{
$patten = '/[\*\/\+-]/';
preg_match($patten,$str, $operator);
$arr = preg_split($patten,$str);
switch($operator[0]){
case '-':
return $arr[0] - $arr[1];
case '+':
return $arr[0] + $arr[1];
case '*':
return $arr[0] * $arr[1];
case '/':
return $arr[0] / $arr[1];
}
}
$num = "10+2";
echo calcString($num); // Output = 12
// Or
$num = "10-2";
echo calcString($num); // Output = 8
// Or
$num = "10*2";
echo calcString($num); // Output = 20
// Or
$num = "10/2";
echo calcString($num); // Output = 5
当然,您可以将函数放在某种帮助程序类中.
今天关于在php5中,如何阻止GET从(错误地)转换为数字?和php错误转异常函数的介绍到此结束,谢谢您的阅读,有关Javascript:将字符串转换为数字?、MySQL自动将字符串转换/转换为数字?、php – 如何将波斯语/阿拉伯数字从字符串转换为英文数字?、PHP-如何将字符串转换为包含数学运算的数字?等更多相关知识的信息可以在本站进行查询。
本文标签: