获取字符串第一个单词的简单方法

时间:2011-04-22 03:47:41

标签: php optimization

如何在var1中获取字符串的第一个单词并在第2个变量中休息。

我的要求:

$strInput = "SSCL BAl 101";
$strFirst = ...;
$strRest = ...;

我的输出:

strFirst = SSCL
strRest = BAL 101

我目前的解决方案:

list($strFirst,) = explode(" ", $strInput );
$strRest = trim(str_replace($strFirst, '', $strInput ));

还有其他简单的方法吗?

3 个答案:

答案 0 :(得分:3)

不太了解php,但看起来你可以随时调用strstr()两次(如果你使用的是php> = 5.3.0)。 http://www.php.net/manual/en/function.strstr.php

$first = strstr($strInput, ' ', true);
$rest = strstr($strInput, ' ');

答案 1 :(得分:3)

使用explode()的限制:

 list($strFirst,$strRest) = explode(" ", trim($strInput), 2);

我不知道优化,但它是一行而且相当可读。如果你愿意,你可以使用正则表达式:

 list($strFirst,$strRest) = preg_split("/ /", trim($strInput), 2); // PHP >= 5.3 I believe


修改
为领先的空白添加了修剪失败!

答案 2 :(得分:1)

$strInput = "SSCL BAl 101";
$strFirst = strtok($strInput, ' ');
$strRest = substr($strInput, strlen($strFirst));

var_dump($strFirst, $strRest); 

输出

string(4) "SSCL"
string(8) " BAl 101"

CodePad