Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menambah Elemen Secara Bersyarat pada Array dalam PHP 8.1 Menggunakan Array Unpacking?

Bagaimanakah Saya Boleh Menambah Elemen Secara Bersyarat pada Array dalam PHP 8.1 Menggunakan Array Unpacking?

DDD
DDDasal
2024-10-29 22:01:02703semak imbas

How Can I Conditionally Add Elements to an Array in PHP 8.1 Using Array Unpacking?

Penambahan Elemen Bersyarat dalam Tatasusunan melalui Pembongkaran Tatasusunan

Dalam PHP, menambahkan elemen secara bersyarat pada tatasusunan menggunakan pernyataan array() boleh menjadi agak rumit apabila menggunakan pengendali ternary. Walau bagaimanapun, PHP 8.1 memperkenalkan penyelesaian menggunakan pembongkaran tatasusunan.

Untuk menambah unsur 'b' => 'xyz' kepada tatasusunan $arr = array('a' => 'abc'), anda boleh menggunakan sintaks berikut:

$arr = [
    'foo' => 'bar', 
    ...($condition ? ['baz' => 'boo' ] : []),
];

Dalam contoh ini, pembolehubah $condition menentukan sama ada elemen 'baz' => 'boo' harus ditambah pada tatasusunan. Jika $condition adalah benar, elemen itu ditambah; jika tidak, ia ditinggalkan.

Pembukaan tatasusunan membolehkan anda mengembangkan tatasusunan menjadi satu set nilai atau ungkapan individu. Di sini, pengendali ternary mengembalikan sama ada tatasusunan yang mengandungi 'baz' => 'boo' atau tatasusunan kosong. Operator spread (...) kemudian membongkar tatasusunan ini, berpotensi menambahkan elemennya pada $arr.

Pendekatan ini menyediakan cara ringkas dan cekap untuk menambahkan unsur secara bersyarat pada tatasusunan, terutamanya apabila bekerja dengan besar atau kompleks tatasusunan. Ia memudahkan kod dan mengelakkan pengehadan pengendali ternary.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Elemen Secara Bersyarat pada Array dalam PHP 8.1 Menggunakan Array Unpacking?. 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