2009-07-19 16 views
9

Podczas deklarowania asocjacyjnej tablicy, jak radzisz sobie z wcięciem elementów tablicy? Widziałem wiele różnych stylów (składnia PHP, ponieważ to jest to, w czym byłem ostatnio). Jest to dość wybredna i trywialna rzecz, więc posuwaj się dalej, jeśli interesujesz się bardziej poważnymi zajęciami.Formatowanie deklaracji tabliczki asocjacyjnej

1) elementy Wcięcie jeden etap:

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

2) elementy Wcięcie dwóch poziomach:

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

3) Wcięcie elementy poza konstruktora tablicy, z zamknięcia klamry dostosowane do rozpoczęcia konstruktor:

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

4) Wcięcie elementów poza układ macierzy, za pomocą cl osing klamra dostosowane do otwarcia klamry:

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

Osobiście lubię # 3-szerokie wcięcie jasno wynika, że ​​jesteśmy w punkcie przerwy w kodzie (konstruowaniu tablicę) i mający klamrę zamykającą pływającą trochę na lewo od wszystkich danych macierzy wyjaśnia, że ​​ta deklaracja jest zrobiona.

Odpowiedz

10

Osobiście zawsze:

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

Wcięcie to jedna zakładka (zwykle 4 spacje, czasami 2). Nie cierpię nadmiernej białej przestrzeni. Działa to dobrze z zagnieżdżonymi tablicami.

2

Generalnie będę używał tylko formatu wielowierszowego dla tablicy asocjacyjnej, jeśli nie jest to trywialne w sensie kodowania, tj. coś, co jest przydatne do odniesienia podczas czytania kodu. W przeciwnym razie (jeśli jest to krótka tablica), umieszczę ją w jednej linii.

Jeśli jest to długa lub nietrywialna, moje IDE (obecnie Eclipse, dopóki nie mogę zadowalać się odpowiednią alternatywą) obsługuje dla mnie większość formatowania. Na ogół okazuje się podobny do pierwszego przykładu, z jednego poziomu wcięć:

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

ja wyrosłem wolą go w ten sposób. Jeden poziom wcięcia jest naprawdę wszystkim, co jest potrzebne, i tworzy bardziej poziomą przestrzeń.

1

Lubię:

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

Poza wcięcia, istnieje również kwestie kolejce wartości ponieważ klucze najprawdopodobniej mają nierówne długości (przynajmniej niektóre z nich). Tak więc, na przykład, w jaki sposób radzić sobie z czymś tak:

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

W takich przypadkach ja generalnie zakładka z strzałką tłuszczu co najmniej 2 zaczepy dać coś takiego:

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

ja zazwyczaj używają tego rodzaju wcięcia dla deklaracji tablicowych:

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

całkiem podobny do # 1, ale z tą różnicą:

  • ostateczna } jest wcięcie

Nigdy nie umieszczam wielu spacji w "=>", aby wyrównać wartości (np. ennuikiller suggested): znajduję że naprawdę trudne do odczytania, a często mają moje oczy skok do niewłaściwej wartości ^^

Należy również pamiętać, że zawsze szuka „,” na końcu ostatniej deklaracji:

  • jest całkowicie poprawny
  • Nie musisz dodawać go, dodając jeszcze jeden wiersz do tablicy
  • po dodaniu jednego wiersza na końcu tablicy, modyfikujesz tylko jedną linię: tę, którą dodajesz (i na pewno nie poprzednia, aby dodać "," tak jak już tam jest; pomaga to w różnicach i poprawkach: mniej zmodyfikowane linie, łatwiejsze do odczytania

Jeszcze jedno: właśnie to robię, gdy pracuję nad projektem, który nie określa reguł formowania; indziej, staram się szanować tych, jak to możliwe (tak, że formatowanie jest spójna pomiędzy członkami zespołu projektu)

1

pójdę z jednym, który jest podobny do # 4:

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

Myślę, że ta metoda pozwala na łatwiejszą widoczność elementów w tablicy, co jest szczególnie przydatne, gdy tablica jest większa niż 10 elementów.