2009-07-19 36 views
9

Khi khai báo một mảng kết hợp, làm thế nào để bạn xử lý thụt đầu dòng của các phần tử của mảng? Tôi đã nhìn thấy một số phong cách khác nhau (cú pháp PHP, vì đó là những gì tôi đã được trong thời gian gần đây). Đây là một điều khá cầu kỳ và tầm thường, vì vậy hãy di chuyển theo nếu bạn quan tâm đến việc theo đuổi nghiêm trọng hơn.Định dạng khai báo mảng liên kết

1) các yếu tố Thụt lề nhiều hơn một cấp:

$array = array(
    'Foo' => 'Bar', 
    'Baz' => 'Qux' 
    ); 

2) yếu tố Indent hai cấp độ:

$array = array(
     'Foo' => 'Bar', 
     'Baz' => 'Qux' 
     ); 

3) yếu tố Indent ngoài các nhà xây dựng mảng, với đóng cú đúp phù hợp với sự bắt đầu của hàm tạo:

$array = array(
      'Foo' => 'Bar', 
      'Baz' => 'Qux' 
     ); 

4) Các phần tử thụt lề ngoài cấu trúc mảng, với cl osing thẳng cú đúp với cú đúp mở:

$array = array(
      'Foo' => 'Bar', 
      'Baz' => 'Qux' 
      ); 

Cá nhân, tôi thích # 3 vết lõm rộng làm cho nó rõ ràng rằng chúng ta đang ở một điểm break trong mã (xây dựng mảng), và có ngoặc đóng nổi một chút bên trái của tất cả các dữ liệu của mảng làm cho nó rõ ràng rằng tuyên bố này được thực hiện.

Trả lời

10

Cá nhân tôi luôn luôn đi:

$array = array(
    '1' => '2', 
    3 => 4, 
); 

Thụt lề là một cấp độ tab (thường là 4 dấu cách, đôi khi 2). Tôi ghét không gian trắng quá mức. Điều này làm việc tốt với các mảng lồng nhau.

2

Nói chung tôi sẽ chỉ sử dụng định dạng nhiều dòng cho một mảng kết hợp nếu nó không tầm thường theo nghĩa mã hóa, tức là. một cái gì đó hữu ích để tham khảo trong khi đọc mã. Nếu không, (nếu đó là một mảng ngắn), tôi sẽ đặt nó trên một dòng.

Nếu nó dài hoặc không tầm thường, IDE của tôi (Eclipse vào lúc này, cho đến khi tôi có thể giải quyết trên một phương án thích hợp) xử lý hầu hết định dạng cho tôi. Nói chung, nó tương tự như ví dụ đầu tiên của bạn, với một cấp độ thụt lề:

$array = array(
    'Foo' => 'Bar', 
    'Baz' => 'Qux' 
    ); 

Tôi đã phát triển theo cách này. Một mức độ thụt lề thực sự là tất cả những gì cần thiết và tạo ra nhiều không gian ngang hơn.

1

tôi thích:

$array = array('Foo' => 'Bar', 
       'Baz' => 'Qux'); 
1

Bên cạnh việc thụt đầu dòng, còn có các vấn đề về xếp hàng các giá trị từ các phím có khả năng nhất sẽ có độ dài bất bình đẳng (ít nhất là một số trong số họ). Vì vậy, ví dụ, làm thế nào để bạn đối phó với một cái gì đó như thế này:

'KeyOne' => 'Value1', 
'KeyTwo' => 'Value2', 
'KeyTwelve' => 'Value12', 

Trong những trường hợp như vậy tôi thường tab ra khỏi mũi tên chất béo ít nhất 2 tab để cung cấp cho một cái gì đó như thế này:

'KeyOne'  => 'Value1', 
'KeyTwo'  => 'Value2', 
'KeyTwelve' => 'Value12', 
6

Tôi thường sử dụng loại thụt đầu dòng cho tờ khai mảng của:

function test() 
{ 
    $my_array = array(
     'a' => 1, 
     'bcdef' => 2, 
     'gh' => array(
      'glop', 
      'test' 
     ), 
     'ijk' => 20, 
    ); 
} 

Khá tương tự như # 1, nhưng với sự khác biệt này:

  • trận chung kết } được bỏ thụt lề

Tôi không bao giờ đặt nhiều khoảng trắng xung quanh '=>' để căn chỉnh các giá trị (như ennuikiller suggested): Tôi tìm thấy đó thực sự khó khăn để đọc, và thường có mắt nhảy của tôi với giá trị sai ^^

Cũng lưu ý rằng tôi luôn luôn đặt một ',' ở phần cuối của tờ khai lần cuối:

  • nó là hoàn toàn hợp lệ
  • bạn không phải thêm nó khi bạn thêm một dòng nữa vào mảng
  • khi bạn thêm một dòng ở cuối mảng, bạn chỉ sửa đổi một dòng: dòng bạn thêm vào (và chắc chắn là không trước đó, để thêm ',' vì nó đã có); điều này giúp với các khác biệt và các bản vá lỗi: các dòng ít sửa đổi, dễ đọc hơn

Một điều nữa: đây là những gì tôi làm khi tôi làm việc trong một dự án không chỉ định quy tắc; khác, tôi cố gắng tôn trọng những người càng nhiều càng tốt (để Formating đó là chặt chẽ giữa các thành viên của nhóm nghiên cứu của dự án)

1

tôi đi với một trong đó là tương tự như # 4:

$array = array('Foo' => 'Bar', 
       'Baz' => 'Qux' 
       'Moo' => 'Cow'); 

Tôi nghĩ rằng phương pháp này cho phép khả năng hiển thị dễ dàng hơn của các mục trong mảng, đặc biệt hữu ích khi mảng lớn hơn 10 mục.

Các vấn đề liên quan