Rumah > pembangunan bahagian belakang > tutorial php > Adakah Penilaian Litar Pintas PHP Menghalang Panggilan Fungsi yang Tidak Diperlukan?

Adakah Penilaian Litar Pintas PHP Menghalang Panggilan Fungsi yang Tidak Diperlukan?

Linda Hamilton
Lepaskan: 2024-12-04 13:14:10
asal
509 orang telah melayarinya

Does PHP's Short-Circuit Evaluation Prevent Unnecessary Function Calls?

Adakah Penilaian Litar Pintas PHP Meminimumkan Operasi yang Tidak Diperlukan?

PHP termasuk mekanisme yang dikenali sebagai penilaian litar pintas, yang menjimatkan penilaian dengan menamatkan semakan lanjut apabila syarat awal adalah palsu.

Pertimbangkan kod berikut:

if (is_valid($string) && up_to_length($string) && file_exists($file)) 
{
    ......
}
Salin selepas log masuk

Jika is_valid($string) menilai kepada false, adakah PHP meneruskan untuk menyemak syarat yang tinggal, seperti up_to_length($string)?

PHP menunjukkan kemalasan dengan melaksanakan perbandingan paling sedikit yang diperlukan. Jika is_valid($string) mengembalikan false, PHP melangkau baki semakan, kerana keadaan keseluruhan sudah ditentukan sebagai palsu.

Untuk menggambarkan ini, pertimbangkan contoh berikut:

function saySomething()
{
    echo 'hi!';
    return true;
}

if (false && saySomething())
{
    echo 'statement evaluated to true';
}
Salin selepas log masuk

Dalam kes ini, walaupun fungsi saySomething() ditakrifkan untuk menggemakan 'hai!', fungsi itu tidak pernah dipanggil kerana syarat pertama, palsu, litar pintas penilaian dan menghalang jurubahasa daripada mencapai syarat kedua.

Atas ialah kandungan terperinci Adakah Penilaian Litar Pintas PHP Menghalang Panggilan Fungsi yang Tidak Diperlukan?. 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