如何从\Request::getQueryString()返回的字符串中提取整数
实现方案
方案1(最推荐,适配Laravel框架)
既然你已经在使用Laravel的Request类,不需要手动解析查询字符串,直接调用参数获取方法即可拿到对应值:
// 直接获取olympiad参数的值,返回字符串类型的"4" $olympiadValue = \Request::get('olympiad'); // 按需强转为整型即可得到数字4 $olympiadNum = (int)$olympiadValue;
方案2(从已获取的查询字符串中解析)
如果必须从\Request::getQueryString()返回的olympiad=4字符串中提取,可使用PHP原生的查询字符串解析函数:
$queryStr = \Request::getQueryString(); // 解析查询字符串到$params数组中 parse_str($queryStr, $params); $olympiadNum = (int)$params['olympiad'];
方案3(轻量场景快速实现)
如果确认查询字符串结构固定为参数名=数字,也可以用更简单的拆分方式:
// 按=拆分字符串,取第二个元素强转为整型 $olympiadNum = (int)explode('=', \Request::getQueryString())[1];
也可以用正则匹配提取数字:
preg_match('/\d+/', \Request::getQueryString(), $match); $olympiadNum = (int)$match[0];
内容的提问来源于stack exchange,提问作者wikadom
相关产品推荐
相关产品推荐

