Menambahkan Elemen Bersekutu Bersyarat pada Tatasusunan dalam PHP
Apabila memanipulasi tatasusunan dalam PHP, anda mungkin menghadapi senario di mana penambahan elemen tertentu bergantung pada tertentu syarat. Sebagai contoh, anda mungkin mahu memasukkan elemen dengan kunci dan nilai tertentu hanya jika keadaan tertentu bernilai benar.
Masalah Asal:
Pertimbangkan tatasusunan berikut :
<code class="php">$arr = ['a' => 'abc'];</code>
Anda mahu menambah elemen baharu secara bersyarat dengan kekunci 'b' dan nilai 'xyz' pada tatasusunan ini menggunakan pernyataan tatasusunan(). Walau bagaimanapun, pengendali ternary tidak membenarkan penambahan bersyarat sedemikian.
Penyelesaian dalam PHP 8.1:
Dengan kemunculan PHP 8.1, anda boleh mencapai penambahan elemen bersyarat ini menggunakan pembongkaran tatasusunan:
<code class="php">$condition = true; // Replace with your actual condition $arr = [ 'foo' => 'bar', ...($condition ? ['baz' => 'boo' ] : []), ];</code>
Sintaks ini membolehkan anda membongkar tatasusunan dalam tatasusunan sedia ada berdasarkan penilaian keadaan. Dalam kes ini, jika $condition adalah benar, tatasusunan ['baz' => 'boo'] akan digabungkan menjadi $arr. Jika tidak, ia akan dilangkau.
Penyelesaian ini memanfaatkan operator spread baharu (...) yang diperkenalkan dalam PHP 8.1, yang membolehkan membongkar jujukan (termasuk tatasusunan) dalam pelbagai konteks.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Elemen Secara Bersyarat pada Array dalam PHP 8.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!