I use 预分割 http://php.net/manual/en/function.preg-split.php如下:
<?php
$num = 99.14;
$pat = "[^a-zA-Z0-9]";
$segments = preg_split($pat, $num);
print_r($segments);
我预计 $segments 将是一个像这样的数组array(99,14)
然而,它返回array(99.14)
我不知道为什么 preg_split 这样做,而它分割字符串的模式是任何特殊字符,即非字母数字。
检查这个演示:http://codepad.org/MUusnwis http://codepad.org/MUusnwis
您必须向正则表达式添加分隔符,如下所示:
<?php
$num = 99.14;
$pat = "/[^a-zA-Z0-9]/";
//^------------^Delmimiter here
$segments = preg_split($pat, $num);
print_r($segments);
?>
Output:
Array ( [0] => 99 [1] => 14 )
EDIT:
为什么OP将整个字符串放回到数组中的问题很简单!如果您阅读此处的手册:http://php.net/manual/en/function.preg-split.php http://php.net/manual/en/function.preg-split.php
并在注释下快速引用一下:
提示
如果匹配失败,将返回一个包含输入字符串的单个元素的数组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)