Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Meletupkan Tatasusunan dengan Koma dan \'dan\' Sebelum Item Terakhir?

Bagaimanakah Saya Boleh Meletupkan Tatasusunan dengan Koma dan \'dan\' Sebelum Item Terakhir?

Barbara Streisand
Barbara Streisandasal
2024-11-27 18:42:11266semak imbas

How Can I Implode an Array with Commas and

Meletupkan Tatasusunan dengan Koma, Menambah "dan" Sebelum Item Akhir

Meletupkan tatasusunan ke dalam rentetan boleh menjadi mudah, tetapi menambah "dan" sebelum item terakhir memerlukan sedikit lebih kehalusan. Pertimbangkan pelbagai jenis minuman:

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

Meletupkan tatasusunan ini dengan koma mengembalikan:

coke, sprite, fanta

Walau bagaimanapun, kami ingin mengubah suainya kepada:

coke, sprite and fanta

Begini cara anda boleh mencapai ini menggunakan gabungan penghirisan tatasusunan, penggabungan, penapisan dan menyertai:

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

Kaedah ini mengendalikan tatasusunan semua saiz dengan cekap, termasuk kes dengan sifar, satu atau dua elemen, tanpa memerlukan pernyataan bersyarat tambahan. Kepelbagaian pendekatan ini membolehkan pendekatan ini diruntuhkan menjadi satu baris:

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

Penyelesaian garis panjang ini memastikan pengendalian yang betul bagi semua senario, daripada tatasusunan kosong kepada senarai item yang besar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meletupkan Tatasusunan dengan Koma dan \'dan\' Sebelum Item Terakhir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn