2014-06-18 15 views
6

có khả năng viết nhật ký nếu, ELSE IF, câu lệnh khác cho php.viết tắt php nếu {} ELSE IF {} else {}

nếu/người khác rõ ràng nhưng có cách viết tắt khi tôi cũng muốn sử dụng elseif (ngoại trừ chuyển đổi) không?

if ($typeArray == 'date'){ 
    echo 'date'; 
} else if($typeArray == 'time'){ 
    echo 'time'; 
} else { 
    echo 'text'; 
} 

Không tìm thấy câu trả lời hay nào khác, trong đó có phiên bản viết tắt cho lồng nhau nếu câu lệnh bao gồm cả elseif.

lời chào timmi

+0

sử dụng oop PHP bạn có thể đạt được điều này xem xét từng trường hợp làm tên phương thức. – Sundar

+1

Đó là ngắn như nó sẽ nhận được trong khi vẫn giữ sự tỉnh táo của bạn. –

+0

Có các nhà hoạt động TERNARY, họ cung cấp một cái gì đó như thế này (và tôi quá lười biếng để viết một câu trả lời đầy đủ hiện tại) :) – Sliq

Trả lời

21

Bạn đang tìm kiếm ternary statements.

Cú pháp:

$condition ? $value_if_true : $value_if_false 

Cú pháp cho báo cáo ternary lồng nhau:

$a ? $b : ($c ? $d : ($e ? $f : $g)) 

Chỉ cần một lời cảnh báo, báo cáo ternary lồng nhau rất khó đọc, vì vậy nó được khuyến khích để báo cáo ternary unnested.

+7

Ugh, đừng bao giờ đề xuất các câu lệnh lồng nhau lồng nhau, làm cho mã khó đọc như vậy –

+0

@BrandonWamboldt Nó có thể gây khó đọc, nhưng đó là những gì OP yêu cầu. – jeroen

+0

@jeroen Vâng, nhưng giống như câu trả lời dưới đây, nó là tốt để đề cập đến lý do tại sao nó xấu để sử dụng, vì vậy mọi người mới để lập trình không nghĩ rằng đó là thực hành tốt. –

3

Bạn có thể thấy điều này Ternary operator. Tốt khi bạn có một/nếu có, nhưng khả năng đọc kém nếu bạn làm nhiều hơn.

Alternative syntax. Cú pháp này rất hữu ích khi bạn sử dụng html/php trong cùng một mã. Nó giúp chúng ta thấy kết thúc của if/foreach/while ...

switch/case. Tốt nhất là có lẽ để đăng một số mã để xem nếu nó có thể được rút ngắn.