Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengendali Null Coalesce dalam PHP7: Bagaimana untuk memudahkan pertimbangan bersyarat kod?

Pengendali Null Coalesce dalam PHP7: Bagaimana untuk memudahkan pertimbangan bersyarat kod?

WBOY
WBOYasal
2023-10-20 09:18:35861semak imbas

PHP7中的Null Coalesce运算符:如何简化代码的条件判断?

Pengendali Null Coalesce dalam PHP7: Bagaimana untuk memudahkan pertimbangan bersyarat kod?

Semasa proses pembangunan, kita selalunya perlu melakukan pertimbangan bersyarat ke atas pembolehubah untuk menentukan sama ada ia mempunyai nilai atau sama ada ia adalah batal. Cara tradisional ialah menggunakan pernyataan if atau operator ternary untuk melaksanakan pertimbangan bersyarat, tetapi cara penulisan ini kelihatan panjang dan rumit dalam beberapa kes. Nasib baik, pengendali Null Coalesce (??) telah diperkenalkan dalam PHP7, yang boleh membantu kami memudahkan cara kami menulis kod dan meningkatkan kecekapan pembangunan.

Pengendali Null Coalesce ialah cara ringkas untuk menentukan sama ada sesuatu nilai itu nol. Sintaksnya adalah seperti berikut:

$variable = $value ?? $default;

Dalam kod di atas, $value ialah pembolehubah yang perlu kita nilai dan $default ialah nilai lalai yang kami tentukan. Jika $value wujud dan bukan nol, tetapkan nilai $value kepada $variable, jika tidak, tetapkan nilai $default kepada $variable.

Yang berikut menggunakan beberapa contoh khusus untuk menunjukkan penggunaan pengendali Null Coalesce.

Pertama, andaikan kita mempunyai $pengguna yang boleh ubah Kami berharap semasa output, jika nama pengguna wujud, nama itu akan dicetak, jika tidak, "Tidak diketahui" akan dicetak. Menggunakan cara tradisional, kita mungkin menulis seperti ini:

if(isset($user['name'])) {
    echo $user['name'];
} else {
    echo "Unknown";
}

Tetapi menggunakan pengendali Null Coalesce, ini boleh dipermudahkan kepada:

echo $user['name'] ?? "Unknown";

Seterusnya, kami mempertimbangkan contoh yang lebih kompleks. Katakan kita mempunyai array $products, yang mengandungi harga beberapa produk. Kita perlu mengira jumlah harga semua produk dan mencetak jumlah harga. Cara tradisional mungkin ditulis seperti ini:

$totalPrice = 0;
foreach ($products as $product) {
    if(isset($product['price'])) {
        $totalPrice += $product['price'];
    }
}
echo $totalPrice;

Dengan pengendali Null Coalesce, ia boleh dipermudahkan kepada:

$totalPrice = 0;
foreach ($products as $product) {
    $totalPrice += $product['price'] ?? 0;
}
echo $totalPrice;

Dalam kod di atas, jika $product['price'] wujud dan bukan null, $product[ ' price'] ditambahkan pada $totalPrice jika tidak, 0 ditambahkan pada $totalPrice secara lalai. Dengan cara ini, kita tidak perlu lagi menggunakan pernyataan if untuk membuat pertimbangan bersyarat, dan kod tersebut lebih ringkas dan jelas.

Pengendali Null Coalesce boleh digunakan bukan sahaja pada tatasusunan, tetapi juga pada objek dan struktur data kompleks lain. Ia boleh memudahkan pertimbangan bersyarat dalam kod kami, mengurangkan jumlah kod dan meningkatkan kecekapan pembangunan.

Perlu diingatkan bahawa apabila menggunakan pengendali Null Coalesce, anda perlu memahami dengan jelas keutamaan pengendali. Jika berbilang pengendali Null Coalesce digunakan dalam ungkapan, susunan pengiraan perlu ditentukan berdasarkan keutamaan pengendali.

Ringkasnya, pengendali Null Coalesce ialah ciri yang sangat berguna dalam PHP7, yang boleh membantu kami memudahkan pertimbangan bersyarat dan tetapan nilai lalai dalam kod. Dengan menggunakan operator Null Coalesce secara rasional, kami boleh menulis kod yang lebih ringkas dan boleh dibaca serta meningkatkan kecekapan pembangunan.

Atas ialah kandungan terperinci Pengendali Null Coalesce dalam PHP7: Bagaimana untuk memudahkan pertimbangan bersyarat 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