微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP中“filter_var”和“preg_replace”之间的后端区别是什么?

我有一个数据库(非常受控的输入),它们会在它们之前和之后都有下划线.它们的存储方式如下:

_51_ _356_

它们不会以任何其他格式存储,但有时我需要从中获取数字.我选择使用其中之一

$x = filter_var($myNumber, FILTER_SANITIZE_NUMBER_INT);

要么

$y = preg_replace("/[^0-9]/","",$myNumber);

我不确定后端2之间的细微差别,但它们都产生了我需要的东西(我想是的,无论如何),所以对我来说无关紧要.使用这些选项有哪些优缺点? (例如,是否有人使用我可能需要知道的数组或其他奇怪的东西?一个使用太多资源?)

解决方法:

嗯,你的情况没有太大区别.我认为preg_replace在资源方面更昂贵,因为它必须解析正则表达式模式.

或者你可以使用trim

echo trim('_12_', '_');

它将删除两边的’_’,我认为这是最可读的方式.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐