Pengendali yang sangat praktikal telah ditambahkan pada PHP7: operator penggabungan nol. Operator ini boleh digunakan untuk memudahkan pertimbangan logik dalam kod, menjadikan kod lebih ringkas dan boleh dibaca.
Pertimbangan logik tradisional biasanya dilaksanakan menggunakan operator ternary atau pernyataan if-else. Sebagai contoh, jika kita ingin mendapatkan nilai pembolehubah, jika pembolehubah wujud, nilai pembolehubah akan digunakan, jika tidak nilai lalai akan digunakan. Sebelum PHP7, kami mungkin menulis kod seperti ini:
$value = isset($variable) ? $variable : $default;
Kod sedemikian kelihatan menyusahkan dan tidak cukup intuitif. Menggunakan operator gabungan nol boleh menjadikan kod lebih ringkas dan jelas:
$value = $variable ?? $default;
Gunakan operator gabungan nol Jika $variable wujud dan bukan nol, nilai $variable digunakan. Satu baris kod ini sudah mencukupi, mengurangkan kerumitan kod.
Selain memudahkan pertimbangan logik, pengendali penggabungan nol juga boleh digunakan untuk mendapatkan nilai dalam tatasusunan. Sebagai contoh, kami ingin mendapatkan nilai yang sepadan dengan kunci dalam tatasusunan Jika kunci itu wujud, gunakan nilainya, jika tidak gunakan nilai lalai. Sebelum PHP7, kita mungkin menulis kod seperti ini:
$value = isset($array['key']) ? $array['key'] : $default;
Dan menggunakan operator penggabungan nol, kita boleh menulis seperti ini:
$value = $array['key'] ?? $default;
Begitu juga, kod tersebut lebih ringkas dan jelas.
null Operator gabungan boleh digunakan dalam berbilang sarang untuk memenuhi keperluan pertimbangan logik dan nilai yang kompleks. Sebagai contoh, kita ingin mendapatkan nilai atribut objek, tetapi atribut mungkin tidak wujud, dan objek itu sendiri mungkin tidak wujud. Sebelum PHP7, kita mungkin perlu menulis kod seperti ini:
$value = (isset($object) && isset($object->attribute)) ? $object->attribute : $default;
Sekarang, kita boleh memudahkannya seperti ini:
$value = $object->attribute ?? $default;
Sudah tentu, jika logik bersarang lebih kompleks, kita masih perlu menggunakan pernyataan if-else tradisional untuk mengendalikan ia.
Perlu diambil perhatian bahawa pengendali penggabungan nol hanya menentukan sama ada pembolehubah adalah nol, bukan sama ada pembolehubah itu wujud atau kosong. Jika anda hanya ingin menentukan sama ada pembolehubah wujud atau kosong, anda masih perlu menggunakan fungsi isset() atau empty().
Ringkasnya, pengendali penggabungan nol baharu dalam PHP7 boleh memudahkan pertimbangan logik dalam kod, menjadikan kod lebih ringkas dan lebih mudah dibaca. Walau bagaimanapun, apabila menggunakannya, anda perlu memberi perhatian kepada senario penggunaan dan sekatan pengendali untuk mengelakkan ralat yang tidak perlu.
Atas ialah kandungan terperinci Pengendali penggabungan nol baharu dalam PHP7: Bagaimana untuk memudahkan pertimbangan logik kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!