Hướng dẫn which is faster switch or if php? - cái nào là chuyển đổi nhanh hơn hoặc nếu php?

Ví dụ đầu tiên của bạn chỉ đơn giản là sai. Bạn cần elseif thay vì chỉ else.

Nếu bạn sử dụng if..elseif... hoặc switch chủ yếu là vấn đề ưu tiên. Hiệu suất là như nhau.

Tuy nhiên, nếu tất cả các điều kiện của bạn thuộc loại x == value với x giống nhau trong mọi điều kiện, switch thường có ý nghĩa. Tôi cũng chỉ sử dụng switch nếu có nhiều hơn ví dụ: Hai điều kiện.

Một trường hợp trong đó switch thực sự mang lại cho bạn lợi thế hiệu suất là nếu phần biến là một cuộc gọi chức năng:

switch[some_func[]] {
    case 1: ... break;
    case 2: ... break;
}

Sau đó

if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
1 chỉ được gọi một lần trong khi với

if[some_func[] == 1] {}
elseif[some_func[] == 2] {}

Nó sẽ được gọi là hai lần - bao gồm các tác dụng phụ có thể xảy ra của chức năng xảy ra hai lần. Tuy nhiên, bạn luôn có thể sử dụng

if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
2 và sau đó sử dụng
if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
3 trong các điều kiện
if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
4 của bạn - để bạn có thể tránh được vấn đề này.

Một trường hợp bạn không thể sử dụng công tắc là khi bạn có điều kiện phức tạp hơn - switch chỉ hoạt động cho

if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
6 với
if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
7 là một giá trị không đổi.cannot use switch at all is when you have more complex conditions - switch only works for
if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
6 with
if[some_func[] == 1] {}
elseif[some_func[] == 2] {}
7 being a constant value.

$ n -= 6;

$ iter = 500000;
$ start = microtime [true];iter = 500000;
$ n = 0;start = microtime[true];
for [$ c = 0; $ cn = 0;
$ i = $ c % 16;$c=0; $c

Bài Viết Liên Quan

Chủ Đề