Das Implodieren eines Arrays in eine Zeichenfolge mithilfe einer durch Kommas getrennten Liste ist eine häufige Aufgabe. Wenn Sie jedoch „und“ vor dem letzten Element hinzufügen müssen, ist dies nicht immer einfach.
Die implode()-Funktion kann verwendet werden, um die Elemente eines zu verketten Array in eine Zeichenfolge mit einem angegebenen Trennzeichen. Der folgende Code würde beispielsweise eine Reihe von Getränkenamen in eine durch Kommas getrennte Liste implodieren:
$listArrau = ['coke', 'sprite', 'fanta']; $listString = implode(', ', $listArrau);
Dies würde die folgende Zeichenfolge erzeugen:
coke, sprite, fanta
Um „und“ vor dem letzten Element einzufügen, müssen wir den Implosionsprozess ändern. Hier ist eine lange Lösung:
echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));
Dieser Ausdruck gliedert sich in mehrere Schritte:
Hier ist eine ausführliche Version mit getrennten Schritten:
$last = array_slice($array, -1); $first = join(', ', array_slice($array, 0, -1)); $both = array_filter(array_merge(array($first), $last), 'strlen'); echo join(' and ', $both);
Dieser mehrstufige Ansatz ermöglicht es uns, Fälle mit einer beliebigen Anzahl von Elementen zu bearbeiten, einschließlich 0, 1 und 2 Punkte, richtig.
Das obige ist der detaillierte Inhalt vonWie implodiere ich ein Array mit \', \' und \'and\' vor dem letzten Element?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!