这是我的代码,目前我能够将其分成两个变量
$string="life really";
list($firstName, $lastName) = explode(" ", $string);
echo $firstName;
echo $lastName;
输出就像
life
really
这是我的第二次尝试
$string="life really suck";
list($firstName, $lastName) = explode(" ", $string);
echo $firstName;
echo $lastName;
它只回显字符串中的第一个和最后一个字
这是生活和吮吸,它没有捕获$ lastname中的“真的很糟糕”
我想要做的是,我想捕获$ firstname中的第一个单词并捕获第一个空格后的内容并放在$ lastname中。
有可能吗?
答案 0 :(得分:4)
根据the PHP manual,explode
有一个可选的第三个参数,用于指定函数可以返回多少元素的限制。使用此限制,您可以使该函数将第一个匹配放在第一个元素中,将其余字符串放在第二个元素中。
示例:
$string="life really suck";
list($firstName, $lastName) = explode(" ", $string, 2); // Added argument 2
echo $firstName;
echo $lastName;
答案 1 :(得分:1)
这提供了一个正确的解决方案:给定像“A B C D ...”这样的字符串将返回2个变量:
$ v1 =“A”; $ v2 =“B C D ......”;
这是代码。
$string="life really suck a lot";
$parts = explode(" ", $string);
$v1 = array_shift($parts);
$v2 = implode(" ", $parts);
输出:
$ v1 =“生命”
$ v2 =“非常糟糕”;
答案 2 :(得分:0)
试试这个:
$string="life really suck";
preg_match("/(?P<firstname>\w+) (?P<lastname>.*)/",$string,$match);
extract($match);
echo $firstname;
echo "<br>";
echo $lastname;
答案 3 :(得分:0)
试试这个。
<?php
$string="life really suck";
list($firstName, $middlename, $lastName) = explode(" ", $string);
echo $firstName;
echo $middlename;
echo $lastName;
?>