如何在var1中获取字符串的第一个单词并在第2个变量中休息。
我的要求:
$strInput = "SSCL BAl 101";
$strFirst = ...;
$strRest = ...;
我的输出:
strFirst = SSCL
strRest = BAL 101
我目前的解决方案:
list($strFirst,) = explode(" ", $strInput );
$strRest = trim(str_replace($strFirst, '', $strInput ));
还有其他简单的方法吗?
答案 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"