我必須將用戶名分成名字和姓氏,但我不知道名稱中可能有多少元素。 我有一些工作代碼,但它似乎可以優化。分裂一個PHP字符串,當我不知道有多少元素
有沒有人有任何建議,使這更優雅?
function createMoodleUserNames($fullname){
$names = explode(' ',$fullname);
$prefixes = array('Dr.','Ms.','Mr.','Mrs.');
$names = explode(' ',$name);
$i = 0;
if(in_array($names[0],$prefixes)){
$firstname = $names[0].' '.$names[1];
unset($names[0]);
unset($names[1]);
}else{
$firstname = $names[0];
unset($names[0]);
}
$lastname = '';
while($i < count($names)){
$lastname .= ' '.$names[$i];
$i++;
}
$output = array();
$output[0] = $firstname;
$output[1] = $lastname;
return $output;
}
就在while循環之前,添加$ names = array_values($ names);.當您取消設置數組索引時,索引本身不會重置。這將確保他們在循環之前。 – trickyzter
謝謝 - 「$ names = array_values($ names);」我確實發現了一個難以實現的方法:) –
難道我們都沒有; ;) – trickyzter