2009-07-19 15 views
9

एक सहयोगी सरणी घोषित करते समय, आप सरणी के तत्वों के इंडेंटेशन को कैसे प्रबंधित करते हैं? मैंने कई अलग-अलग शैलियों को देखा है (PHP वाक्यविन्यास, क्योंकि यह हाल ही में मैंने किया है)। यह एक सुंदर पिक्य और छोटी चीज है, इसलिए यदि आप अधिक गंभीर गतिविधियों में दिलचस्पी रखते हैं तो साथ आगे बढ़ें।फ़ॉर्मेटिंग एसोसिएटिव सरणी घोषणा

1) इंडेंट तत्वों एक और स्तर:

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

2) इंडेंट तत्वों दो स्तरों:

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

3) सरणी निर्माता परे इंडेंट तत्वों, बंद करने ब्रेस की शुरुआत के साथ गठबंधन के साथ कन्स्ट्रक्टर:

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

4) सरणी के बाहर इंडेंट तत्व, सीएल के साथ निर्माण ब्रेस osing उद्घाटन ब्रेस के साथ गठबंधन:

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

व्यक्तिगत रूप से, मुझे पसंद है # 3-व्यापक खरोज यह स्पष्ट करता है कि हम कोड में एक को तोड़ने बिंदु पर कर रहे हैं (सरणी के निर्माण), और समापन ब्रेस चल होने सरणी के सभी डेटा के बायीं तरफ थोड़ा सा यह स्पष्ट करता है कि यह घोषणा पूरी की गई है।

उत्तर

10
निजी तौर पर

मैं हमेशा जाएं:

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

इंडेंट एक टैब स्तर (आमतौर पर 4 रिक्त स्थान, कभी-कभी 2) होता है। मैं अत्यधिक सफेद अंतरिक्ष से घृणा करता हूं। यह घोंसला वाले सरणी के साथ अच्छी तरह से काम करता है।

2

आम तौर पर मैं केवल एक सहयोगी सरणी के लिए एक बहु-रेखा प्रारूप का उपयोग करूंगा यदि यह कोडिंग अर्थ में गैर-तुच्छ है, यानी। कुछ ऐसा जो कोड पढ़ने के दौरान संदर्भ में उपयोगी है। अन्यथा, (यदि यह एक लघु सरणी है), तो मैं इसे एक पंक्ति पर रखूंगा।

यदि यह लंबा या गैर-तुच्छ है, तो मेरा आईडीई (इस समय ग्रहण, जब तक कि मैं एक उपयुक्त विकल्प पर बस नहीं लगा सकता) मेरे लिए अधिकांश प्रारूपण को संभालता है। सामान्य तौर पर यह आपकी पहली उदाहरण की तरह पता चला है, इंडेंट में से एक स्तर के साथ:

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

मैं इसे इस तरह से पसंद करते हैं करने के लिए बड़े हो गए हैं। इंडेंटिंग का एक स्तर वास्तव में आवश्यक है, और अधिक क्षैतिज स्थान बनाता है।

1

मुझे पसंद है:

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

खरोज के अलावा, वहाँ भी मान अस्तर के मुद्दों के बाद से कुंजी सबसे अधिक संभावना असमान लंबाई (कम से कम उनमें से कुछ) होगा। तो, उदाहरण के लिए, कैसे आप कुछ के साथ इस तरह निपटते हैं:

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

ऐसे मामलों में मैं आम तौर पर बाहर वसा तीर टैब कम से कम 2 टैब कुछ इस तरह देने के लिए:

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

मैं आम तौर पर सरणी के घोषणाओं के लिए खरोज के इस प्रकार का उपयोग करें:

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

काफी # 1 के समान है, लेकिन इस अंतर के साथ:

  • अंतिम } इंडेंट नहीं की गई है

मूल्यों को संरेखित करने के लिए मैंने '=>' के चारों ओर कई जगहें कभी नहीं रखीं (जैसे ennuikiller suggested): मुझे लगता है कि वास्तव में कड़ी मेहनत को पढ़ने के लिए, और अक्सर गलत मान ^^

इसके अलावा करने के लिए मेरी आँखों जम्प को ध्यान दें कि मैं हमेशा पिछले घोषणा के अंत में डाल एक ',':

  • यह पूरी तरह से वैध है
  • जब आप सरणी के अंत में एक पंक्ति जोड़ते हैं, तो आप सरणी
  • पर एक और पंक्ति जोड़ते समय इसे जोड़ने की ज़रूरत नहीं है, आप केवल एक पंक्ति को संशोधित करते हैं: जिसे आप जोड़ते हैं (और निश्चित रूप से नहीं पहले एक, ',' जोड़ने के लिए, क्योंकि यह पहले से ही है); यह diffs और पैच के साथ मदद करता है: कम संशोधित लाइनें पढ़ने के लिए आसान

एक और बात: मैं ऐसा करता हूं जब मैं ऐसी परियोजना पर काम करता हूं जो नियम बनाने के नियम निर्दिष्ट नहीं करता है;

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

मुझे लगता है कि इस विधि: और, मैं जितना संभव हो उतना उन

1

मैं एक है कि # 4 के समान है के साथ जाना (ताकि formating परियोजना की टीम के सदस्यों के बीच सुसंगत है) का सम्मान करें, सरणी में वस्तुओं की आसान दृश्यता के लिए अनुमति देता है, जो विशेष रूप से उपयोगी होता है जब सरणी 10 वस्तुओं से बड़ी होती है।

संबंधित मुद्दे