我正在取一個名稱列表並將姓氏放在第一位。當我使用explode創建$ name數組時,第一個名字的第一個名字在數組位置0,第一個名字在第一個位置,但其他名字的第一個名字在第一個位置,第二個名字在第二個位置。foreach中的分解變量,但在第一個數組之後,數組從1開始,而不是0
我從另一個做類似事情的腳本複製了這段代碼,但是在那段代碼中,包括第一個實例在內的所有名字都從1開始(至少與其一致)。
我猜我缺少一些基本的東西。感謝您的協助。
代碼如下。
$_511a = 'Maria Smith, Lance Farquardt, Daniel Berquist, John Barton, Milo Silver';
echo '511a: ' . $_511a . '<br />';
$castsplit = explode(',' , $_511a);
foreach($castsplit as $cast) {
$name = explode(' ',$cast);
$lastname = end($name);
if(count($name) >= 4){
$middlename = $name[2];
} else {
$middlename = null;
}
$firstname = $name[1];
if($middlename){
$castmembers[] = $lastname . ', ' . $firstname . ' ' . $middlename;
} else {
$castmembers[] = $lastname . ', ' . $firstname;
}
}
echo "Corrected names: <br />";
foreach($castmembers as $castmember) {
echo $castmember . '<br />';
}
謝謝,我知道我是不佔爲我的最初「爆炸」的空間,這解釋了爲什麼第一個顯示好,其次是關閉。我知道我錯過了一些東西。 – mattrweaver