将电话号码插入数据库

时间:2013-06-10 12:22:08

标签: php

我有一个输入供用户输入电话号码,我在将其插入数据库之前使用int();

我在DB

中插入了一些电话号码0398765899-> 398765899

PHP int();自动删除前0,看起来不错,但是当我尝试

   $var=0177;
    echo $new=(int)$var;

在PHP文件中,结果变为127

5 个答案:

答案 0 :(得分:4)

电话号码是一个字符串;不是数字。想想1-800-FOO-BANG

另外,请注意他们并不总是以相同的方式格式化。例子:

  • (123)456 7890或123-456-7890 - US
  • (+ 33)1 23 45 67 89 - 法国

答案 1 :(得分:1)

使用php过滤器:

filter_var($var, FILTER_SANITIZE_NUMBER_INT);

答案 2 :(得分:0)

这不起作用:

$var=0177;
echo $new=(int)$var;

因为PHP认为这是一个八进制数。这有效:

$var='0177';
echo $new=(int)$var;

答案 3 :(得分:0)

这是因为格式为0ddd的数字被PHP视为八进制数。这就是为什么在转换为int后你得到127。

同样@Denis建议将电话号码存储为int不是一个好主意。

答案 4 :(得分:0)

当您将值转换为整数时,它将始终删除第一个零,因为根据有效数字,零在第一个位置没有意义。你必须将数字保留为字符串。