2010-11-24 7 views
69

PHP में सरणी नोटेशन के लिए शॉर्टेंड क्या है?सरणी के लिए शॉर्टैंड: क्या एक शाब्दिक वाक्यविन्यास है जैसे {} या []?

मैं का उपयोग करने की कोशिश की (काम नहीं करता है):

$list = {}; 

यह सही हो जाएगा, यदि आप PHP के लिए अन्य shorthands बारे में कुछ जानकारी पर लिंक दे।

+0

ऐसे कई कार्य हैं जिनका उपयोग विशेष मामलों में सरणी बनाने के लिए किया जा सकता है (उदाहरण के लिए, str_split), लेकिन मुझे लगता है कि आप इस बारे में बात नहीं कर रहे हैं। – Matthew

+0

PHP नहीं है। लेकिन phpreboot और pihipi प्रयोगात्मक नए वाक्यविन्यास प्रदान करते हैं। – mario

उत्तर

108

अद्यतन:
पीएचपी 5.4.0 के रूप में एक shortened syntax घोषित सरणियों के लिए शुरू किया गया है:

$list = []; 

पिछला उत्तर:

वहाँ नहीं है। केवल $list = array(); लेकिन आप केवल तत्व जोड़ना शुरू कर सकते हैं।

<?php 
$list[] = 1; 
$list['myKey'] = 2; 
$list[42] = 3; 

यह बिल्कुल ठीक है जहां तक ​​PHP का संबंध है। आपको E_NOTICE for undefined variables भी नहीं मिलेगा।

E_NOTICE स्तर त्रुटि मामले अप्रारंभीकृत चर के साथ काम करने का में जारी किया जाता है, फिर भी नहीं अप्रारंभीकृत सरणी जोड़कर तत्वों के मामले में।

शॉर्टंड विधियों के लिए, बहुत सारे बिखरे हुए हैं। यदि आप उन्हें ढूंढना चाहते हैं तो बस The Manual पढ़ें।

कुछ उदाहरण है, बस अपने मनोरंजन के लिए: array_push के लिए

  1. $arr[] आशुलिपि।
  2. foreach, +
  3. elseif
  4. तार में चर एम्बेडिंग के अस्तित्व के साथ
  5. echo $string1, $string2, $string3;
  6. सरणी संयोजन का निर्माण $name = 'Jack'; echo "Hello $name";
+6

PHP इस तरह स्नीकी है। – GWW

+0

मैंने पेशेवरों को सालों से व्यावसायिक रूप से उपयोग किया है, मुझे एक सहकर्मी से पूछना था कि '$ परिणाम [] = $ पंक्ति;' मतलब था। –

+2

$ परिणाम [] = $ पंक्ति; वास्तव में array_push ($ परिणाम, $ पंक्ति) – Daniklad

3

php में एक सरणी को परिभाषित करने के लिए एक ही रास्ता array() भाषा निर्माण कर रहा है। PHP की कुछ अन्य भाषाओं की तरह सरणी अक्षर के लिए एक शॉर्टेंड नहीं है।

4

नहीं, यह प्रस्तावित और समुदाय द्वारा अस्वीकार कर दिया था, इसलिए अब सरणी के लिए केवल वाक्यविन्यास array() है।

+8

अच्छी खबर से बहुत तेज़ है !!, मेरे पोस्ट किए गए उत्तर की जांच करें। – AgelessEssence

41

हाँ, यह मौजूद है !!

एक और ढेर   ओवरफ्लो सवाल से निकाला गया:

सरणियों के लिए छोटा वाक्य रचना, rediscussed कर दिया गया है स्वीकार किए जाते हैं, और पीएचपी 5.4 के साथ

प्रयोग जारी किया रास्ते पर अब है:

$list = []; 

संदर्भ: PHP 5.4 Short Hand for Arrays

2

मैं सिर्फ इतना की तरह एक सरणी में तार विस्फोट:

$array = explode(",","0,1,2,3,4,5,6,7,8,9,10"); 
21

यह भी [] के अंदर सामग्री इतनी तरह परिभाषित करना संभव है:

$array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']]; 

यह केवल php5.4 में काम करेंगे और ऊपर।

+1

मुझे लगता है कि 5.4 और उससे ऊपर लिखना बेहतर है (5.6 में यह काम करता है)। एक नोट के रूप में यह एक वर्ग निरंतर (जैसे कॉन्स एक्स = ["ए", "बी"] के रूप में एक सरणी घोषित करने का एकमात्र काम करने का तरीका है;) क्योंकि const x = array (....) –

2

आप इस प्रकार अपने सरणी घोषणा कर सकते हैं:

$myArray1 = array(num1, num2, num3); 
$myArray2 = array('string1', 'string2', 'string3'); 
$myArray3 = array('stringkey1'=>'stringvalue1', 'stringkey2'=>'stringvalue2'); 
$myArray4 = array('stringkey1'=>numValue1, 'stringkey2'=>numValue2); 
$myArray5 = array(numkey1=>'stringvalue1', numkey2=>'stringvalue2'); 
$myArray6 = array(numkey1=>numValue1, numkey2=>numValue2); 

आप के रूप में आप की जरूरत के रूप में कई एम्बेडेड सरणियों हो सकता है।

+0

काम नहीं करता है यह अपरिभाषित स्थिरांक के बारे में नोटिस का उत्पादन करेगा। – Popnoodles

+1

@Popnoodles अच्छी तरह से हाँ, यह छद्म कोड है। –

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