2013-04-25 41 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