Php 获取字符串第一个单词的简单方法
如何在var1中获取字符串的第一个单词,在第二个var中获取其余单词 我的要求:Php 获取字符串第一个单词的简单方法,php,optimization,Php,Optimization,如何在var1中获取字符串的第一个单词,在第二个var中获取其余单词 我的要求: $strInput = "SSCL BAl 101"; $strFirst = ...; $strRest = ...; 我的输出: strFirst = SSCL strRest = BAL 101 我当前的解决方案: list($strFirst,) = explode(" ", $strInput ); $strRest = trim(str_replace($strFirst, '', $strInpu
$strInput = "SSCL BAl 101";
$strFirst = ...;
$strRest = ...;
我的输出:
strFirst = SSCL
strRest = BAL 101
我当前的解决方案:
list($strFirst,) = explode(" ", $strInput );
$strRest = trim(str_replace($strFirst, '', $strInput ));
还有其他简单的方法吗
$strInput = "SSCL BAl 101";
$strFirst = strtok($strInput, ' ');
$strRest = substr($strInput, strlen($strFirst));
var_dump($strFirst, $strRest);
输出
.我对php不太了解,但是如果您使用的是php>=5.3.0,那么似乎可以调用strstr两次
使用爆炸的限制:
list($strFirst,$strRest) = explode(" ", trim($strInput), 2);
我不知道优化,但它只有一行,可读性很强。如果您愿意,可以使用正则表达式:
list($strFirst,$strRest) = preg_split("/ /", trim($strInput), 2); // PHP >= 5.3 I believe
编辑
添加了前导空格失败的修剪 使用str_replace是不合适的,因为它是对字符串的全局搜索。考虑输入SSCL BAL SSCL 101。我得到这一个更加说服力很好。我当时正在用explode做一些事情,然后试着把其他部分粘在一起,用于我自己的项目。比我想到的任何东西都要好。
list($strFirst,$strRest) = explode(" ", trim($strInput), 2);
list($strFirst,$strRest) = preg_split("/ /", trim($strInput), 2); // PHP >= 5.3 I believe