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!