Rumah >pembangunan bahagian belakang >PHP7 >Bagaimana untuk menggunakan operator penggabungan nol PHP7 untuk memudahkan pertimbangan logik kod?

Bagaimana untuk menggunakan operator penggabungan nol PHP7 untuk memudahkan pertimbangan logik kod?

王林
王林asal
2023-10-21 11:57:271515semak imbas

Bagaimana untuk menggunakan operator penggabungan nol PHP7 untuk memudahkan pertimbangan logik kod?

Bagaimana untuk menggunakan operator penggabungan nol PHP7 untuk memudahkan pertimbangan logik kod?

Pengendali baharu diperkenalkan dalam PHP7, pengendali penggabungan nol (??), yang boleh mengurangkan pertimbangan logik yang membosankan dalam kod. Dengan menggunakan operator penggabungan nol, kami boleh memudahkan pertimbangan sama ada pembolehubah adalah nol, dengan itu memudahkan logik kod dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Dalam versi sebelumnya, kami selalunya perlu menggunakan operator ternary untuk menentukan sama ada pembolehubah adalah nol, dan kemudian melakukan operasi yang berbeza berdasarkan hasil penentuan. Sebagai contoh, jika kita perlu mendapatkan nama pengguna daripada pangkalan data, kita biasanya menulis kod seperti ini:

$name = isset($user['name']) ? $user['name'] : 'Unknown';

Cara penulisan ini bukan sahaja bertele-tele, tetapi juga akan membawa kepada pengurangan kod kebolehbacaan apabila dinilai beberapa kali. Dalam PHP7, kita boleh menggunakan operator penggabungan nol untuk memudahkan proses penghakiman ini Kodnya adalah seperti berikut:

$name = $user['name'] ?? 'Unknown';

Dalam contoh ini, jika $user['name'] wujud dan bukan nol, maka $name akan diberikan nilai $user['name']; jika $user['name'] adalah batal, maka $name akan diberikan nilai 'Unknown'. Seperti yang anda lihat, fungsi yang sama boleh dicapai dengan lebih ringkas menggunakan pengendali penggabungan nol.

Selain memudahkan pertimbangan sama ada pembolehubah adalah nol, pengendali penggabungan nol juga boleh mengendalikan pertimbangan berbilang pembolehubah. Katakan kita perlu mendapatkan nama pengguna daripada borang input pengguna, tetapi jika pengguna tidak memasukkan nama pengguna, kami menggunakan nama pengguna lalai. Dalam kaedah penulisan sebelumnya, kita perlu menentukan secara berasingan sama ada input pengguna dan nama pengguna lalai wujud, dan kemudian melakukan operasi yang berbeza mengikut situasi yang berbeza:

$username = isset($_POST['username']) ? $_POST['username'] : 'DefaultUser';

Dalam PHP7, kita boleh menggunakan operator gabungan nol Untuk memudahkan proses penghakiman ini, kodnya adalah seperti berikut:

$username = $_POST['username'] ?? 'DefaultUser';

Begitu juga, jika $_POST['nama pengguna'] wujud dan tidak batal, maka $username akan diberikan nilai $_POST[' nama pengguna'] Nilai; jika $_POST['username'] adalah batal, maka $username akan diberikan nilai 'DefaultUser'. Menggunakan operator penggabungan nol boleh menjadikan kod lebih ringkas dan jelas.

Juga ambil perhatian bahawa pengendali penggabungan nol hanya mengembalikan nilai di sebelah kanan apabila operan di sebelah kiri adalah nol. Jika operan sebelah kiri wujud tetapi nilainya ialah rentetan kosong atau 0, operator penggabungan nol mengembalikan nilai sebelah kiri dan bukannya nilai sebelah kanan. Oleh itu, apabila menggunakan operator penggabungan nol, anda perlu memberi perhatian kepada pertimbangan operan kiri.

Ringkasnya, pengendali penggabungan nol PHP7 ialah alat yang sangat mudah yang boleh memudahkan pertimbangan logik yang membosankan dalam kod. Dengan menggunakan operator penggabungan nol, kita boleh menentukan dengan lebih tepat sama ada pembolehubah adalah nol, dan juga boleh mengendalikan penentuan berbilang pembolehubah. Dalam pembangunan sebenar, penggunaan rasional pengendali penggabungan nol boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod, menjadikan kod lebih ringkas dan jelas.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan operator penggabungan nol PHP7 untuk memudahkan pertimbangan logik kod?. 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