PHP đôi khi buồn cười. Có nhiều thứ trong PHP hoạt động khác nhau thay vì cách bạn nghĩ có thể hoạt động. Gần đây tôi đã tình cờ thấy một điều như vậy trong khi làm việc trên một trong những dự án của tôi.
Về cơ bản có các cách viết hai điều kiện hoặc nhiều điều kiện trong các tuyên bố có điều kiện. tức là sử dụng else if
và elseif
. Chúng tôi sẽ thảo luận về cả hai ở đây.
Sử dụng “otherif” trong các điều kiện
Chúng ta có thể viết một tuyên bố có điều kiện liên quan đến hai hoặc nhiều điều kiện như dưới đây.
if [$condition1] {
// ...
} elseif [$condition2] {
// ...
} else {
// ...
}
Trong tuyên bố trên, elseif
là một tuyên bố của chính nó. Vì vậy, nó sẽ kiểm tra điều kiện đầu tiên $condition1
, nếu điều đó trở thành false
, sau đó nó sẽ kiểm tra điều kiện thứ hai $condition2
và nếu nó trở thành đúng, PHP sẽ kích thích mã trong khối theo điều kiện.
Sử dụng "khác nếu" trong điều kiện
Mặt khác, chúng ta có thể viết một tuyên bố có điều kiện liên quan đến hai hoặc nhiều điều kiện bằng cách sử dụng else if
như dưới đây.
if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
Bạn có thể nghĩ rằng ví dụ trên và cái trước sử dụng elseif
hành vi giống nhau nhưng bạn đã nhầm trong trường hợp này. Trong trường hợp trên, else if
được hiểu là một tuyên bố
if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2 trong if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
3 của if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2 đầu tiên. Như bạn có thể thấy, các điều kiện trở nên lồng trong trường hợp này.Mã trên thực sự được giải thích như dưới đây:
if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
Vì vậy, về cơ bản, có rất nhiều sự khác biệt trong việc sử dụng else if
so với elseif
khác với loại sau là một đường cú pháp. Tuy nhiên, nếu bạn theo dõi các khuyến nghị tiêu chuẩn PHP, PSR-2 thực sự được khuyến nghị sử dụng elseif
thay vì else if
như một cách tiếp cận tiêu chuẩn. Vì vậy, đó là một ý tưởng khá tốt để sử dụng elseif
trong mã của bạn bất cứ khi nào có thể.
Tiếng kêu bíp! Tiếng kêu bíp! Tôi cũng đang chạy một kênh YouTube mà tôi hy vọng bạn sẽ yêu thích!
[Php 4, Php 5, Php 7, Php 8]
elseif
, như tên của nó cho thấy, là sự kết hợp của
if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2 và if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
3. Giống như if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
3, nó mở rộng một câu lệnh if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2 để thực hiện một tuyên bố khác trong trường hợp biểu thức if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2 gốc đánh giá thành false
. Tuy nhiên, không giống như if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
3, nó sẽ thực hiện biểu thức thay thế đó chỉ khi biểu thức có điều kiện elseif
đánh giá thành if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
9. Ví dụ: mã sau sẽ hiển thị A lớn hơn B, A bằng B hoặc A nhỏ hơn B:false
. However, unlike if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
3, it will execute that alternative expression only if the elseif
conditional expression evaluates to if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
9. For example,
the following code would display a is bigger than b, a equal to b or a is smaller than b: else if
0
Có thể có một số elseif
trong cùng một câu lệnh
if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2. Biểu thức elseif
đầu tiên [nếu có] đánh giá thành if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
9 sẽ được thực thi. Trong PHP, bạn cũng có thể viết 'khác nếu' [bằng hai từ] và hành vi sẽ giống hệt với một trong những 'otherif' [trong một từ duy nhất]. Ý nghĩa cú pháp hơi khác nhau [nếu bạn quen thuộc với C, đây là hành vi tương tự] nhưng điểm mấu chốt là cả hai sẽ dẫn đến chính xác hành vi tương tự.if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
9 would be executed. In PHP, you can also write 'else if' [in two words] and the behavior would be identical to the one of 'elseif' [in a single word]. The syntactic meaning is slightly
different [if you're familiar with C, this is the same behavior] but the bottom line is that both would result in exactly the same behavior. Câu lệnh elseif
chỉ được thực thi nếu biểu thức
if [$condition1] {
// ...
} else if [$condition2] {
// ...
} else {
// ...
}
2 trước đó và bất kỳ biểu thức elseif
nào trước đó được đánh giá là false
và biểu thức elseif
hiện tại được đánh giá là if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
9.false
, and the current elseif
expression evaluated to if [$condition1] {
// ...
} else {
if [$condition2] {
// ...
} else {
// ...
}
}
9. Lưu ý: Lưu ý rằng
elseif
vàelse if
sẽ chỉ được coi là giống hệt nhau khi sử dụng dấu ngoặc xoăn như trong ví dụ trên. Khi sử dụng dấu hai chấm để xác định các điều kiện ____ 12/________ 4 của bạn, bạn không được táchelse if
thành hai từ hoặc PHP sẽ thất bại với lỗi phân tích cú pháp.: Note thatelseif
andelse if
will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define your2/if [$condition1] { // ... } else if [$condition2] { // ... } else { // ... }
elseif
conditions, you must not separateelse if
into two words, or PHP will fail with a parse error.
elseif
6
Vladimir Kornea ¶ ¶
15 năm trước
elseif
7
elseif
8
elseif
9
elseif
0
elseif
1
elseif
2
elseif
3
elseif
4
elseif
5
elseif
6MPARSA1372 tại Gmail Dot Com ¶ ¶
1 năm trước
elseif
7
elseif
8
elseif
9
$condition1
0
$condition1
1
$condition1
2
$condition1
3Chất lượngCoder ¶ ¶
8 năm trước
$condition1
4
$condition1
5
$condition1
6
$condition1
7