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_', '_');

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...