Php 将字符串转换为数字
我正在从CMS检索一个值,我认为这可能会给该值添加一些额外的空间 该值作为字符串保存,但我需要将其转换为整数 我将查询结果存储在数组中。当我循环检查这些值时,我从Php 将字符串转换为数字,php,Php,我正在从CMS检索一个值,我认为这可能会给该值添加一些额外的空间 该值作为字符串保存,但我需要将其转换为整数 我将查询结果存储在数组中。当我循环检查这些值时,我从var\u dump获得了意外的输出 这是我的密码: foreach ($non_approved_points as $value): echo $value; var_dump($value); endforeach; 以下是输出: 90 string(9) " 9
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
pluspreg\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标签,直到那时我还没有看到它们。剥离标签最终解决了这个问题。谢谢你的帮助。