在javascript中,var myStringToArray = myString.split('');
是完全可以接受的。
但是在PHP中,$My_String_To_Array = explode('', $My_String);
抛出一个错误:
警告:爆炸性()空分隔符
PHP手册(http://php.net/manual/en/function.explode.php)解释道:
如果分隔符是空字符串(""),FALSE()将返回FALSE。
那么我应该在当代的PHP中使用什么而不是explode('', $My_String)
呢?
到目前为止,我能看到的替代方案是:
split("", $My_String)
--反对PHP5.3.0str_split($My_String)
preg_split('//', $My_String)
七年前,str_split()
应该是正确的选择。
但是,str_split()
是否仍在当代用法中,还是应该只看preg_split()
?
还是我应该看别的东西?
发布于 2017-04-11 14:10:34
如果处理多字节UTF-8字符串,则应使用:
$array = preg_split('//u', $My_String,-1, PREG_SPLIT_NO_EMPTY);
否则,您只需使用:
$array = str_split($My_String);
原因在手册中有说明。
当处理多字节编码字符串时,str_split()将拆分为字节,而不是字符。
从PHPVersion7.4开始,添加了相当于str_split的mbstring,因此您现在可以使用:
$array = mb_str_split($my_string);
发布于 2017-04-11 13:37:20
我认为str_split是你想要的
拆分-将字符串转换为数组
<?php
$arr = str_split("Hello");
?>
将产生
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
}
发布于 2017-04-11 13:55:37
第一个参数是必需的。
explode(separator,string,limit)
[separator]: required;
[string]: required;
[limit]: alternative.
带空分离器的爆炸功能是没有意义的。
就这样。O(∩_∩)O~
https://stackoverflow.com/questions/43347404
复制相似问题