在字符串的第一个空格处分开

时间:2013-04-25 12:20:07

标签: php split

我有一个这样的字符串:

  

红黄蓝

我希望得到一个这样的数组:

  

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

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

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

请帮帮我。

6 个答案:

答案 0 :(得分:69)

使用explode限制:

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

只是旁注:preg_split的第3个参数与explode的参数相同,因此您也可以像这样编写代码:

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

参考文献:

  

PHP: explode

     

PHP: preg_split

答案 1 :(得分:5)

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

爆炸吧

答案 2 :(得分:3)

你可以使用像这样的爆炸功能

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

它将设置一个限制。详细了解here

答案 3 :(得分:2)

您可以使用explode,但如果您不是100%确定每次都会使用相同的#空格(爆炸),则可以使用ltrim删除第一个单词,空间

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

答案 4 :(得分:-2)

function splitName($name) { $parts = expand(' ', $name); 返回数组( '名字' => array_shift($parts), 'lastname' => join(' ', $parts) ); }

答案 5 :(得分:-4)

您可以这样使用explode

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

您还可以通过foreach循环获取$ colors的所有元素,但在这种情况下,爆炸更好