Php 将字符串转换为数字

Php 将字符串转换为数字,php,Php,我正在从CMS检索一个值,我认为这可能会给该值添加一些额外的空间 该值作为字符串保存,但我需要将其转换为整数 我将查询结果存储在数组中。当我循环检查这些值时,我从var\u dump获得了意外的输出 这是我的密码: foreach ($non_approved_points as $value): echo $value; var_dump($value); endforeach; 以下是输出: 90 string(9) " 9

我正在从CMS检索一个值,我认为这可能会给该值添加一些额外的空间

该值作为字符串保存,但我需要将其转换为整数

我将查询结果存储在数组中。当我循环检查这些值时,我从
var\u dump
获得了意外的输出

这是我的密码:

foreach ($non_approved_points as $value):
            echo $value;
            var_dump($value);
        endforeach;
以下是输出:

90

string(9) "
90

"
看起来该值是由9个字符组成的字符串。我试过trim()和str_replace()。你知道我如何从中得到整数值吗

然后像这样使用:

foreach ($non_approved_points as $value):
            $value = intval($value)
            echo $value;
            var_dump($value);
        endforeach;
如果这不起作用,我怀疑您也可以使用一些正则表达式来删除字符串中的非数值:

foreach ($non_approved_points as $value):
            $value = intval(preg_replace('/![0-9]+/', '' $value));
            echo $value;
            var_dump($value);
        endforeach;

查看
intval
plus
preg\u replace
组合的方式是
preg\u replace
去掉非数字字符,因此它将其清除到一个级别。然后
intval
执行最后一步,使清理后的字符串成为正确的整数。

$int=(int)$value请。。。伙计,这让我头疼。我已经尝试了每一种组合,但仍然以字符串(10)“150”的形式获得var_dump输出。WTF@user1684180查看我的最新编辑。现在使用
intval(trim(preg_replace(…))
哪个应该有效。好的,我终于解决了。我将字符串输出到我的标记中并查看了源代码。所有值都被包装在标记中。一个简单的strip_tags()解决了这个问题。我的问题是为什么var_dump()不显示?@user1684180“我的问题是
var_dump()为什么
不显示
?“尝试在网页上查看源代码。
标记是HTML标记。因此它们只会呈现为HTML段落。当您查看源代码时,您很可能会看到它们。现在我的问题是为什么我的
preg\u会替换它们(
没有去掉那些标签?这是它应该做的。嗨,杰克,是的,我也在想同样的问题。直到我将代码输出到标记中,并使用Chrome开发工具检查源代码,我才看到P标签,直到那时我还没有看到它们。剥离标签最终解决了这个问题。谢谢你的帮助。