将字符串转换为2个变量的最佳方法

时间:2011-08-30 18:28:47

标签: php string variables

我在将字符串中的名字和姓氏解析为2个不同的变量时遇到了一些麻烦。

字符串始终采用以下格式:“Smith,John”或“Doe,Jane”

是否有一个函数可以将名字和姓氏分成两个不同的变量,如...

$firstname = "John"
$lastname = "Smith"

4 个答案:

答案 0 :(得分:8)

listexplode一起使用,如下所示:

list($firstname, $lastname) = explode(',', $yourString);

您可能需要使用trim从这些变量中删除任何空格。

答案 1 :(得分:1)

explode()根据另一个字符串拆分字符串并返回一个数组。

你可以这样做:

$name = "Smith, John";

$name_array = array();

$name_array = explode(",", $name);

答案 2 :(得分:1)

我会使用正则表达式,以便输入可能有轻微的变化(即“史密斯,约翰”,“史密斯,约翰”,“史密斯,约翰”或“史密斯,约翰”)

你可以为regexp“\ w([a-z] +)\ w”执行类似的操作,然后姓氏将是您的第一个匹配,名字将是您的第二个匹配。

答案 3 :(得分:1)

$name = "Smith, John";
$expl = explode(', ', $name);
$firstname = $expl[1];
$lastname = $expl[0];
echo $firstname.' '.$lastname;