2016-07-16 19 views
5

Vì gần đây tôi đã học được $myArray[$index] trong PHP tương đương với $myArray{$index}.

Điều này được đề cập trên PHP docs. Ngoài ra tôi tìm thấy cuộc thảo luận nhỏ ở đây: PHP curly braces in array notation.

PHP-FIG không chứa bất kỳ đề xuất nào về cách nào phù hợp hơn.

Vì vậy, câu hỏi của tôi là - đó chỉ là vấn đề về hương vị hoặc có thể là một số lý do khách quan để sử dụng một hoặc cú pháp khác?

+2

Chỉ cần sử dụng cách đầu tiên như mọi người khác. – PeeHaa

+1

@PeeHaa thực sự tôi luôn luôn sử dụng cú pháp này, nhưng tôi phải đối mặt với đoạn mã mà cú pháp thứ hai được sử dụng (trộn lẫn với đầu tiên). và tôi đã nhầm lẫn một chút – oakymax

+0

Có lý do nào khiến bạn sử dụng cú pháp, cá nhân tôi chưa từng thấy trước đây ở bất kỳ đâu? –

Trả lời

11

"Ký hiệu khung vuông" cho các phần tử mảng sẽ thống nhất và được chấp nhận hơn.
"Ký hiệu ngoặc nhọn" sẽ hoạt động trong các biểu thức nhưng không hoạt động trong nội suy biến đổi khi xử lý truy cập phần tử mảng.
Hãy xem xét ví dụ sau:

$myArray = [1,2]; 
$index = 1; 

echo "value at index $index is $myArray[$index]"; // outputs "value at index 1 is 2" 

echo "value at index $index is $myArray{$index}"; // will throw "Notice: Array to string conversion" 

var_dump($myArray{$index}); // outputs "int(2)" 
Các vấn đề liên quan