PHP-在字符串中获取字符串的一小部分,基于标准



我需要能够在字符串中搜索,找出[topic]是否等于一个数字,并仅从字符串中获取该数字。

例如,类似这样的字符串:

[topic]=10[board]=1

应返回10

但是像这样的字符串:

[topic][board]=1

应返回0或错误

像这样的字符串:

[topic]=1.5[board]=2

应该返回1,因为我们需要四舍五入floor()

此外,我们不担心负数,因为这永远不会发生。

只有当[topic]存在于字符串中并用等号定义时,我才能做到这一点,只从这些看起来像这样的字符串类型中获取数字,向下取整。

谢谢大家:)

下面的想法使用preg_match和一个正则表达式,该表达式在方括号内查找单词"topic",后面跟着一个等号和一个或多个数字。在匹配之前,我设置了主题的默认值(在本例中为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);

相关内容

  • 没有找到相关文章

最新更新