Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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 如何在Laravel中跳过输入表单中的第一个零?_Php_Laravel - Fatal编程技术网

Php 如何在Laravel中跳过输入表单中的第一个零?

Php 如何在Laravel中跳过输入表单中的第一个零?,php,laravel,Php,Laravel,这是字段名“电话号码”。当用户可以输入电话号码如“0132344234”或“1323442234”时,我希望在数据库表中存储数据而不前导零 输入='0132344234'或'1323442234' 存储='1323442234'(跳过第一个零) ltrim将修剪字符串中的所有前导字符,不会删除任何其他字符 doc:有很多方法可以从字符串的第一部分删除0 如果它只包含数字,则将其强制转换为整数 $var = (int)$var; 您可以按如下方式使用左修剪: $var = ltrim($var

这是字段名“电话号码”。当用户可以输入电话号码如“0132344234”或“1323442234”时,我希望在数据库表中存储数据而不前导零

输入='0132344234'或'1323442234' 存储='1323442234'(跳过第一个零)

ltrim
将修剪字符串中的所有前导字符,不会删除任何其他字符


doc:

有很多方法可以从字符串的第一部分删除
0

如果它只包含数字,则将其强制转换为整数

$var = (int)$var; 
您可以按如下方式使用左修剪:

$var = ltrim($var, '0');
只需在变量内部使用
+

echo +$var;
将其乘以1:

$var = "0000000000010";
print $var*1; // prints 10

注意:如果您的字符串中没有数字,那么只使用
ltrim

只需使用
$phone=(int)$request->input('phone')
,但是如果使用laravel验证,为什么要删除数字?我想存储带有国家代码的电话。。比如县代码“+880”和电话“0132344234”。因此,数字为“+8800132344234”,这是无效的。我想要“+8801323442234”这个格式为什么不使用正则表达式?我的意思是,使用正则表达式要简单得多,如果你强制用户使用,那么你可以使用客户端js或使用laravel验证正则表达式示例
\+[0-9]{0,10}
@BenyaminLimanto如果电话号码的int值大于~4,那么你在请求32位系统上出现溢出。29B@Richard嗯,因为我从来没有遇到过它。我想可能每个国家的情况都不一样,但我想在我的国家,它只需要10-12位,而且我现在从来没有使用过32位,所以对我来说是可行的。
$var = "0000000000010";
print $var*1; // prints 10