Bilakah pengendali \'&& foo()\' sebenarnya memanggil fungsi \'foo()\'?

Barbara Streisand
Lepaskan: 2024-11-03 19:54:29
asal
168 orang telah melayarinya

When does the

Memahami "&& foo()" Operator

Operator "&&", juga dikenali sebagai "logik DAN," sering muncul dalam kod seperti "x && foo()". Walaupun binaan ini menyerupai blok "if(x) { foo(); }", fungsinya berbeza secara halus.

Penilaian Pintasan

Kedua-dua "&&" ( DAN) dan "||" (ATAU) pengendali mempunyai ciri unik yang dikenali sebagai "penilaian pintasan." Ciri ini membolehkan pengendali melangkau menilai ungkapan kedua jika ungkapan pertama sudah menentukan hasil keseluruhan pernyataan.

Dalam kes "&&", ia hanya menilai "foo()" jika nilai "x" adalah benar. Jika "x" palsu, "foo()" tidak dilaksanakan kerana keputusan keseluruhan pernyataan telah ditentukan sebagai palsu.

Sebaliknya, dalam "||" kenyataan, jika ungkapan pertama adalah benar, ungkapan kedua tidak dilaksanakan. Keseluruhan pernyataan menilai kepada benar tanpa mengira, menjadikan ungkapan kedua tidak relevan.

Langkah Berjaga-jaga

Walau bagaimanapun, apabila menggunakan penilaian pintasan, adalah penting untuk mengetahui kes di mana pembolehubah mungkin menilai sebagai nilai yang tidak dijangka. Contohnya, "0" dinilai sebagai palsu, walaupun ia adalah pembolehubah yang ditentukan.

Atas ialah kandungan terperinci Bilakah pengendali \'&& foo()\' sebenarnya memanggil fungsi \'foo()\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan