Perbezaan antara | dan || Operator
Soalan:
Dalam bahasa pengaturcaraan seperti C# dan PHP, apakah perbezaan antara || (atau) dan | pengendali? Adakah ia boleh ditukar ganti, atau adakah terdapat kes aplikasi khusus untuk setiap satu?
Jawapan:
Serupa dengan pengendali & dan &&, || (juga dikenali sebagai logik ATAU) dan | (bitwise OR) mengendalikan operasi logik dan bitwise secara berbeza.
Logikal ATAU (||):
Contoh:
if(condition1 || condition2 || condition3)
Jika syarat1 benar, syarat2 dan syarat3 tidak akan dinilai.
Bitwise ATAU (|):
Contoh:
x | y
Menetapkan setiap bit dalam hasil kepada 1 jika bit yang sepadan dalam sama ada x atau y ialah 1.
Kaveat:
Satu kaveat yang ketara apabila menggunakan logik ATAU sedang mengendalikan rujukan nol:
if(class != null || class.someVar < 20)
Jika kelas adalah batal, operator && akan membuat litar pintas dan mengelak daripada menyemak kelas.someVar, manakala | boleh mencetuskan pengecualian.
Penggunaan Jarang Pengendali Tunggal:
Yang & dan | operator jarang digunakan secara bebas, kerana mereka biasanya memerlukan setiap fungsi untuk dilaksanakan (tidak seperti && dan ||). Walau bagaimanapun, ia mungkin berguna dalam senario di mana setiap syarat ialah fungsi yang mesti dilaksanakan tanpa syarat.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Operator `||` (Logikal ATAU) dan `|` (Bitwise ATAU) dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!