Hướng dẫn dùng terenary trong PHP

Một trong những ứng dụng web thường được phát triển đó là Ứng dụng bản đồ [map], như cung cấp thông tin địa điểm, tracking hàng hoá, tìm kiếm địa điểm, … Trong bài viết này vinasupport.com sẽ hướng dẫn các bạn một thể kiến thức Map.

Lat và Lon là gì?

  • Lat viết tắt của Latitude là vĩ độ, là một tạo độ xác định vị trí bắc nam của một điểm trên bề mặt trái đất.
  • Lon viết tắt của Longitude là kinh độ, là một toạ độ xác định vị trí đông tây của một điểm trên bên mặt trái đất.

Từ kinh độ và vĩ độ ta xác định dễ dàng được vị trí của các đối tượng, từ đó tìm được tên đường phố, toà nhà, …

Lấy thông tin Lat & Lon của người dùng bằng Javascript

Trường hợp người dùng sử dụng các thiết bị có GPS và được cấp phép để lấy thông tin địa điểm location thì chúng ta sẽ có chính xác địa điểm của User đang truy cập ứng dụng.

Tôi đang cố gắng chuyển đổi mã sau thành một toán tử ternary, nhưng nó không hoạt động và tôi không chắc tại sao. Tôi nghĩ vấn đề của tôi là tôi không biết cách thể hiện hoạt động

$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];
2 ở định dạng ternary. Theo hiểu biết của tôi và
$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];
2 được thực hiện giống như một hoạt động

$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];
1 bằng cách sử dụng định dạng
$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];
2.

Nội dung chính Show

if [$i == 0] {
    $top = '
'; } elseif [$i % 5 == 0] { $top = '
'; } else { $top = ''; } $top = [$i == 0] ? '
' : [$i % 5 == 0] ? '
' : '';

Hỏi ngày 31 tháng 10 năm 2012 lúc 16:07Oct 31, 2012 at 16:07

4

$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];

Bạn cần thêm dấu ngoặc đơn 'xung quanh toàn bộ khối khác

Đã trả lời ngày 31 tháng 10 năm 2012 lúc 16:11Oct 31, 2012 at 16:11

Samuel Cooksamuel CookSamuel Cook

16.2k6 Huy hiệu vàng49 Huy hiệu bạc62 Huy hiệu Đồng6 gold badges49 silver badges62 bronze badges

0

Toán tử ternary không hỗ trợ hoạt động

$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];
3 thực sự; Tuy nhiên, bạn có thể mô phỏng hành vi bằng cách sử dụng kỹ thuật sau
var name = [variable === 1] ? 'foo' : [[variable === 2] ? 'bar' : 'baz'];

Cá nhân tôi không quan tâm đến điều này vì tôi không thấy nó dễ đọc hơn hoặc thanh lịch hơn. Tôi thường thích câu lệnh

$top = [$i == 0] ? '
' : [[$i % 5 == 0] ? '
' : ''];
4.
switch [variable] {
    case 1 : name = 'foo'; break;
    case 2 : name = 'bar'; break;
    default : name = 'bas'; break;
}

Đã trả lời ngày 31 tháng 10 năm 2012 lúc 16:21Oct 31, 2012 at 16:21

Losthorselosthorselosthorse

1.5101 Huy hiệu vàng13 Huy hiệu bạc32 Huy hiệu Đồng1 gold badge13 silver badges32 bronze badges

0

Quá muộn có lẽ để chia sẻ một số quan điểm, nhưng tuy nhiên :]

  1. Sử dụng nếu - nếu không - khác cho một số lượng đánh giá hạn chế. Cá nhân tôi thích sử dụng nếu - nếu không - khác khi số lượng so sánh nhỏ hơn 5.
  2. Sử dụng trường hợp chuyển đổi trong đó số lượng đánh giá nhiều hơn. Cá nhân tôi thích trường hợp chuyển đổi trong đó các trường hợp hơn 5.
  3. Sử dụng ternary trong đó một so sánh duy nhất đang được xem xét [hoặc một so sánh duy nhất khi lặp] hoặc khi cần so sánh if-Else bên trong mệnh đề "trường hợp" của cấu trúc chuyển đổi.
  4. Sử dụng ternary nhanh hơn khi so sánh trong khi lặp qua một tập dữ liệu rất lớn.

IMHO cuối cùng, nhà phát triển quyết định giao dịch phương trình giữa khả năng đọc và hiệu suất của mã và đến lượt nó quyết định điều gì, ternary so với nếu khác nếu khác với trường hợp chuyển đổi, có thể được sử dụng trong bất kỳ tình huống cụ thể nào.

Đã trả lời ngày 25 tháng 12 năm 2015 lúc 7:29Dec 25, 2015 at 7:29

//Use this format before reducing the expression to one liner
$var=4; //Change value to test
echo "Format result: ";

echo[$var === 1]    ? 'one'     : //if      NB.=> $varname = || echo || print || var_dump[ternary statement inside]; can only be [placed at the start/wrapping] of the statement. 
    [[$var === 2]   ? 'two'     : //elseif
    [[$var === 3]   ? 'three'   : //elseif
    [[$var === 4]   ? 'four'    : //elseif
    'false'                       //else
    ]]];                          //extra tip: closing brackets = totalnumber of conditions - 1 

// Then  echo[$var === 1]?'one':[[$var === 2]?'two':[[$var === 3]?'three':[[$var === 4]?'four':'false']]]; 
echo "
"; var_dump["Short result: ", [$var === 1]?'one':[[$var === 2]?'two':[[$var === 3]?'three':[[$var === 4]?'four':'false']]] ];

Đã trả lời ngày 4 tháng 5 lúc 15:34May 4 at 15:34

FrancescofrancescoFrancesco

4875 Huy hiệu bạc12 Huy hiệu Đồng5 silver badges12 bronze badges

Chúng ta có thể sử dụng khác nếu trong toán tử ternary không?

Tuy nhiên, không nên thay thế nhiều câu lệnh IF/ELSE bằng nhiều toán tử ternary vì nó làm cho mã khó đọc hơn trong tương lai. Tốt nhất nên gắn bó với các câu lệnh nếu/khác hoặc chuyển đổi cho các trường hợp đó. The ternary operator [?:] is a conditional operator used to perform a simple comparison or check on a condition having simple statements. It decreases the length of the code performing conditional operations. The order of operation of this operator is from left to right. It is called a ternary operator because it takes three operands- a condition, a result statement for true, and a result statement for false. The syntax for the ternary operator is as follows. 

Syntax:

[Condition] ? [Statement1] : [Statement2];
  • PHP có hỗ trợ nhà điều hành ternary không? It is the expression to be evaluated and returns a boolean value.
  • Toán tử ternary trong PHP là người duy nhất cần ba toán hạng: một điều kiện, kết quả đúng và kết quả sai.

Chủ Đề