从这个字符串开始:
$input = "Some terms with spaces between";
我该如何生成这个数组?
$output = ['Some', 'terms', 'with', 'spaces', 'between'];
explode
、split
或者 preg_split
。
explode
使用固定的字符串拆分。$parts = explode(' ', $string);
split
和preg_split
使用正则表达式:
$parts = split(' +', $string);
$parts = preg_split('/ +/', $string);
基于正则表达式的分割下面是一个有用的示例:
$string = 'foo bar'; // multiple spaces
var_dump(explode(' ', $string));
var_dump(split(' +', $string));
var_dump(preg_split('/ +/', $string));
$parts = explode(" ", $str);
我觉得值得一提的是,尽管Gumbo发布的正则表达式对于大多数情况来说可能已经足够了,但它可能无法捕获所有空格的情况。例如,在下面的字符串上使用批准答案中的正则表达式:
$sentence = "Hello my name is peter string splitter";
Array
(
[0] => Hello
[1] => my
[2] => name
[3] => is
[4] => peter
[5] => string
[6] => splitter
)
当使用以下正则表达式时:
preg_split('/\s+/', $sentence);
Array
(
[0] => Hello
[1] => my
[2] => name
[3] => is
[4] => peter
[5] => string
[6] => splitter
)
print_r(str_word_count("this is a sentence", 1));
结果为:
Array ( [0] => this [1] => is [2] => a [3] => sentence )
return json_encode(explode(' ', $inputString));