Để lập trình nhanh hơn, trong ngôn ngữ lập trình PHP, chúng ta nên thường xuyên sử dụng các phép toán Phép toán Ternary và Ternary Coalescing. Có những phép toán nào thì hãy tham khảo bài viết sau đây của vinasupport.com nhé!
Nội dung chính
- 1. Phép toàn Ternary: cond ? expr1 : expr2
- 2. Phép toán Ternary: cond ?: else-expr
- 3. Phép toán Null Coalescing
- 4. Phép toán Null Coalescing Assignment
1. Phép toàn Ternary: cond ? expr1 : expr2
2. Phép toán Ternary: cond ?: else-expr
3. Phép toán Null Coalescing4. Phép toán Null Coalescing Assignment
Phép toán thường được sử dụng nhiều nhất.2. Phép toán Ternary: cond ?: else-expr
3. Phép toán Null Coalescing4. Phép toán Null Coalescing Assignment
Phép toán thường được sử dụng nhiều nhất.3. Phép toán Null Coalescing
4. Phép toán Null Coalescing Assignment4. Phép toán Null Coalescing Assignment
Phép toán thường được sử dụng nhiều nhất.$rank = $marks >= 50 ? 'pass' : 'fail';
4. Phép toán Null Coalescing Assignment
Phép toán thường được sử dụng nhiều nhất.4. Phép toán Null Coalescing Assignment
Phép toán thường được sử dụng nhiều nhất.$rank = $marks >= 50 ? 'pass' : 'fail';
Thông điệp chào mừng có điều kiện
Tin nhắn mục có điều kiệnShow
- 23 hữu ích 2 bình luận chia sẻ
- Toán tử ternary chỉ là một tốc ký cho khối if và if. Mã làm việc của bạn không có điều kiện khác, vì vậy không phù hợp cho việc này.
- Ví dụ sau sẽ hoạt động:
- 4. Phép toán Null Coalescing Assignment
- 1. Phép toàn Ternary: cond ? expr1 : expr2
- 2. Phép toán Ternary: cond ?: else-expr
- 3. Phép toán Null Coalescing
- 4. Phép toán Null Coalescing Assignment
- Not the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
- Đăng nhập để trả lời câu hỏi
- Có thể bạn quan tâm
Nội dung chính
- 1. Phép toàn Ternary: cond ? expr1 : expr2
- 2. Phép toán Ternary: cond ?: else-expr
- 3. Phép toán Null Coalescing
- 4. Phép toán Null Coalescing Assignment
Nội dung chính
- 1. Phép toàn Ternary: cond ? expr1 : expr2
- 2. Phép toán Ternary: cond ?: else-expr
- 3. Phép toán Null Coalescing
- 4. Phép toán Null Coalescing Assignment
1. Phép toàn Ternary: cond ? expr1 : expr2
2. Phép toán Ternary: cond ?: else-expr
3. Phép toán Null CoalescingNot the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏi2. Phép toán Ternary: cond ?: else-expr
3. Phép toán Null CoalescingNot the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏi3. Phép toán Null Coalescing
Not the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.Not the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏiCó thể bạn quan tâm
4. Phép toán Null Coalescing Assignment
Nội dung chínhNot the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏiCó thể bạn quan tâm
Nội dung chính
Nội dung chính
- 1. Phép toàn Ternary: cond ? expr1 : expr2
- 2. Phép toán Ternary: cond ?: else-expr
- 3. Phép toán Null Coalescing
- 4. Phép toán Null Coalescing Assignment
1. Phép toàn Ternary: cond ? expr1 : expr2
2. Phép toán Ternary: cond ?: else-expr
3. Phép toán Null CoalescingNot the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏi2. Phép toán Ternary: cond ?: else-expr
3. Phép toán Null CoalescingNot the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏi3. Phép toán Null Coalescing
Not the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.Not the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏiCó thể bạn quan tâm
4. Phép toán Null Coalescing Assignment
Nội dung chínhNot the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏiCó thể bạn quan tâm
Nội dung chính
Phép toán thường được sử dụng nhiều nhất.Feb 19, 2015 at 9:11
1
$rank = $marks >= 50 ? 'pass' : 'fail';
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
Nó có nghĩa là:Feb 19, 2015 at 9:15
if [$marks >= 50] { $rank = 'pass'; } else { $rank = 'fail'; }Sunil Pachlangia
$user = load_user[] ?: false;2 gold badges13 silver badges25 bronze badges
Nó tương đương với
$user = load_user[] ? load_user[] : false;Feb 19, 2015 at 9:13
$result = $_GET['value'] ?? 'foo';Albzi
$result = isset[$_GET['value']] ? $_GET['value'] : 'foo';6 gold badges44 silver badges61 bronze badges
Not the answer you're looking for? Browse other questions tagged php operator-keyword ternary or ask your own question.
Đăng nhập để trả lời câu hỏitừ trang này , tôi có các mẫu mã làm việc và không hoạt động bên dưới.
Có thể bạn quan tâm
2câu lệnh:if [!empty[$address['street2']]] echo $address['street2'].'
';
Nội dung chính
$test = [empty[$address['street2']]] ? 'Yes
' : 'No
';
// Also tested this
[empty[$address['street2']]] ? 'Yes
' : 'No
';
Phép toán thường được sử dụng nhiều nhất.
Sau mẹo của Brian, tôi thấy rằng tiếng vang
3đầu ra
cho kết quả mong đợi. Sau đây hoạt động như một nét duyên dáng!echo [empty[$storeData['street2']]] ? 'Yes
' : 'No
';
- $rank = $marks >= 50 ? 'pass' : 'fail';
- ternary-operator
- conditional-operator
Nó có nghĩa là: 1 bình luận 189k xem chia sẻ
if [$marks >= 50] { $rank = 'pass'; } else { $rank = 'fail'; }
182
$user = load_user[] ?: false;
[condition] ? /* value to return if condition is true */
: /* value to return if condition is false */ ;
Nó tương đương với
4được gọi là toán tử có điều kiện] bởi vì bạn không thể thực thi mã theo cách tương tự như khi bạn đã làm:if [condition] {
/* condition is true, do something like echo */
}
else {
/* condition is false, do something else */
}
$user = load_user[] ? load_user[] : false;
5câu lệnh khi
6không trống. Bạn không thể làm điều này theo cách tương tự với toán tử có điều kiện. Tuy nhiên, những gì bạn có thể làm là
5kết quả của toán tử có điều kiện:echo empty[$address['street2']] ? "Street2 is empty!" : $address['street2'];
$result = $_GET['value'] ?? 'foo';nếu nó trống, nếu không nó sẽ hiển thị địa chỉ street2.
$result = isset[$_GET['value']] ? $_GET['value'] : 'foo'; 0 bình luận chia sẻ
if [$marks >= 50] { $rank = 'pass'; } else { $rank = 'fail'; }
28
$user = load_user[] ?: false;
Nó tương đương vớitoán tử kết hợp Null như thế này:
8$user = load_user[] ? load_user[] : false; 2 bình luận chia sẻ
if [$marks >= 50] { $rank = 'pass'; } else { $rank = 'fail'; }
23
$user = load_user[] ?: false;
$is_admin = [$user['permissions'] == 'admin' ? true : false];
Nó tương đương với
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
0$user = load_user[] ? load_user[] : false;
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
1$result = $_GET['value'] ?? 'foo'; 2 bình luận chia sẻ
if [$marks >= 50] { $rank = 'pass'; } else { $rank = 'fail'; }
10
$user = load_user[] ?: false;Mã làm việc của bạn không có điều kiện khác, vì vậy không phù hợp cho việc này.
Nó tương đương với
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
2$user = load_user[] ? load_user[] : false; 0 bình luận chia sẻ
if [$marks >= 50] { $rank = 'pass'; } else { $rank = 'fail'; }
3
Lưu ý rằng khi sử dụng các toán tử điều kiện lồng nhau, bạn có thể muốn sử dụng dấu ngoặc đơn để tránh các vấn đề có thể xảy ra!khi sử dụng các toán tử điều kiện lồng nhau, bạn có thể muốn sử dụng dấu ngoặc đơn để tránh các vấn đề có thể xảy ra!
Có vẻ như PHP không hoạt động giống như ít nhất là Javascript hoặc C #.
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
3Mã giống nhau trong Javascript và C # trả về "Đặc biệt" trong cả hai trường hợp.
Trong trường hợp thứ 2, những gì PHP làm là [hoặc ít nhất đó là những gì tôi hiểu]:
- là
9? Vâng
9? Vâng - là
0? không, vì vậy, hiện tạiif [!empty[$address['street2']]] echo $address['street2'].'
';
1trả về 'Đặc biệt'if [!empty[$address['street2']]] echo $address['street2'].'
';
0? không, vì vậy, hiện tạiif [!empty[$address['street2']]] echo $address['street2'].'
';
1trả về 'Đặc biệt'if [!empty[$address['street2']]] echo $address['street2'].'
'; - sau đó, thay vì chỉ dừng toàn bộ tuyên bố và trả về 'Đặc biệt', nó tiếp tục đánh giá tuyên bố tiếp theo
- tuyên bố tiếp theo sẽ
2trả về 'Khủng khiếp', vì 'Đặc biệt' là sự thậtif [!empty[$address['street2']]] echo $address['street2'].'
';
2trả về 'Khủng khiếp', vì 'Đặc biệt' là sự thậtif [!empty[$address['street2']]] echo $address['street2'].'
';
Từ tài liệu: //php.net/manual/en/lingu.operators.comparison.php//php.net/manual/en/lingu.operators.comparison.php
Chúng tôi khuyên bạn nên tránh "xếp chồng" các biểu thức ternary. Hành vi của PHP khi sử dụng nhiều toán tử ternary trong một câu lệnh là không rõ ràng.Hành vi của PHP khi sử dụng nhiều toán tử ternary trong một câu lệnh là không rõ ràng.
3 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ
answer
2
Thông điệp chào mừng có điều kiện
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
0Viết tắt PHP lồng nhau
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
52 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ
answer
2
Thông điệp chào mừng có điều kiện
5bằngif [!empty[$address['street2']]] echo $address['street2'].'
';
4if [!empty[$address['street2']]] echo $address['street2'].'
';
5Viết tắt PHP lồng nhau
if [!empty[$address['street2']]] echo $address['street2'].'
';
62 hữu ích 0 bình luận chia sẻ 1 bình luận chia sẻ
answer
2
Thông điệp chào mừng có điều kiện
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
6Viết tắt PHP lồng nhau 2 bình luận chia sẻ
answer
2
Thông điệp chào mừng có điều kiện
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
7Viết tắt PHP lồng nhau
Viết tắt PHP lồng nhau 2 bình luận chia sẻ
answer
0
Thông điệp chào mừng có điều kiệnThử đi:
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
8Viết tắt PHP lồng nhau
echo [isset[$options['footer_txt_color']]] ? $options['footer_txt_color'] : '#ffffff';
92 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ
answer
1
Thông điệp chào mừng có điều kiện
Viết tắt PHP lồng nhaubiểu thức1 nếu nó ước tính thành true hoặc biểu thức2 nếu không.
2 hữu ích 0 bình luận chia sẻ
0Bạn có thể làm điều này thậm chí ngắn hơn bằng cách thay thế
5bằng
4if [!empty[$address['street2']]] echo $address['street2'].'
';
1Điều này rất hữu ích, đặc biệt khi bạn muốn xác định, bên trong thanh điều hướng, liệu tùy chọn menu có được hiển thị như đã truy cập [đã nhấp] hay không:Biểu thức expr1 ?: Expr3 trả về expr1 nếu expr1 ước lượng thành TRUE và expr3 nếu không.
2 hữu ích 1 bình luận chia sẻ hướng dẫn PHP
Dưới đây là một số ví dụ thú vị, với một hoặc nhiều điều kiện khác nhau. 2 bình luận chia sẻ