PHP - 获取字符串中的一小部分字符串,基于条件
问题描述:
我需要能够在一个字符串中搜索并找出[topic]是否等于一个数字,并且只能从字符串中获取该数字。PHP - 获取字符串中的一小部分字符串,基于条件
例如,像这样的字符串:
[topic]=10[board]=1
应返回10
但是,像这样的字符串:
[topic][board]=1
应该返回0或假
的字符串像这样:
[topic]=1.5[board]=2
应该返回1,因为我们需要向下舍floor()
同时,我们也并不担心负数,导致这绝不会发生。
只有在字符串中存在[topic]
并且使用等号定义的情况下,我如何才能这样做,仅从这些类型的字符串中截取数字,四舍五入。
谢谢你们:)
答
的想法下面使用preg_match
和正规快件,看起来为“主题”字方括号后跟一个等号内和更多的数字之一。在比赛之前,我设置了主题的默认值(在这种情况下为false
)。如果找到主题,我将其转换为整数。
这将忽略小数点后面为\d
任何数字只包含数字0到9
例子:
<?php
$string = '[topic]=10[board]=1';
$topic = false;
if (preg_match('/\[topic\]=(?P<topic>\d+)/', $string, $matches)) {
$topic = (int)$matches['topic'];
}
var_dump($topic);
将这项工作,如果我们有这样的...' [topic] = 35.8'应该返回35,'[topic] = 185.0'应该返回185. – SoLoGHoST 2012-03-26 06:53:43
@SoLoGHoST - 是的。 – 2012-03-26 06:54:17
好吧,我相信它可行,谢谢你的帮助! – SoLoGHoST 2012-03-26 06:54:49