2013-04-25 43 views
17

我有一个这样的字符串:在第一空间分割字符串中

红,黄,蓝

,我想这样的一个数组:

Array( [0] =>红色 [1] =>黄色蓝色)

如何在字符串的第一个空格处分割? 我的密码不起作用

<?php 
$str = "red yellow blue"; 
$preg = preg_split("/^\s+/", $str); 
print_r($preg); 
?> 

请帮帮我。

回答

48

使用explode有限制:

$array = explode(' ', $string, 2); 

只是一个侧面说明:的preg_split的第三个参数是一样的一个explode,所以你可以写你这样的代码,以及:

$array = preg_split('#\s+#', $string, 2); 

参考文献:

PHP: explode

PHP: preg_split

+0

这是一个很好的答案,将它与引用(例如,链接到手动) – 2013-04-25 12:25:32

+2

一个伟大的答案好奇的是,第三个参数是数组中元素的最大数量,而最后一个元素将剩下的所有元素都包含在内。 – Andrew 2017-01-25 19:32:01

3

可以使用爆炸功能这样

print_r(explode(' ', $str, 2)); 

它将设置一个上限。查看更多关于它here

4
<?php 
$string = "red yellow blue"; 
$result = explode(" ", $string, 2); 
print_r($result); 
?> 

刚刚爆发,

2

您可以使用explode,但如果你不是100%肯定,你就会有空间(爆炸)在同一#每次,你可以使用ltrim删除第一个字和空间

<?php 
$full='John Doe Jr.'; 
$full1=explode(' ', $full); 
$first=$full1[0]; 
$rest=ltrim($full, $first.' '); 
echo "$first + $rest"; 
?> 
-3

您可以使用explode这样:

$stringText = "red yellow blue"; 
    $colours = explode(" ", $stringText); 
    echo $colours[0]; //red 
    echo $colours[1]; //yellow 
    echo $colours[2]; //blue 

你也可以得到所有的foreach循环中的$的色彩元素,但在这种情况下,爆炸是更好

+1

这会在_every_空格处拆分字符串 - 问题只会在_first_空格处进行拆分。 – Frits 2016-05-12 10:53:31