Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ein Array mit Kommas und „und' vor dem letzten Element implodieren?

Wie kann ich ein Array mit Kommas und „und' vor dem letzten Element implodieren?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 18:42:11288Durchsuche

How Can I Implode an Array with Commas and

Ein Array mit Kommas implodieren, „und“ vor dem letzten Element hinzufügen

Das Implodieren eines Arrays in eine Zeichenfolge kann unkompliziert sein, aber das Hinzufügen Ein „und“ vor dem letzten Element erfordert etwas mehr Fingerspitzengefühl. Betrachten Sie ein Array von Getränken:

[
    "coke",
    "sprite",
    "fanta"
]

Wenn Sie dieses Array mit einem Komma implodieren, wird Folgendes zurückgegeben:

coke, sprite, fanta

Wir möchten es jedoch ändern in:

coke, sprite and fanta

Hier erfahren Sie, wie Sie dies mithilfe einer Kombination aus Array-Slicing, Zusammenführen, Filtern usw. erreichen können Beitreten:

$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);

Diese Methode verarbeitet effizient Arrays aller Größen, einschließlich Fällen mit null, einem oder zwei Elementen, ohne dass zusätzliche bedingte Anweisungen erforderlich sind. Die Vielseitigkeit dieses Ansatzes ermöglicht es, ihn in einer einzigen Zeile zusammenzufassen:

echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));

Diese Langzeilenlösung gewährleistet die ordnungsgemäße Handhabung aller Szenarien, von leeren Arrays bis hin zu großen Listen mit Elementen.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Array mit Kommas und „und' vor dem letzten Element implodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn