PHP

2009-08-25 2 views
6

का उपयोग कर बहु-आयामी सरणी में पहली कुंजी पुनर्प्राप्त करें मैं इस बहु-आयामी सरणी से पहली कुंजी पुनर्प्राप्त करना चाहता हूं।PHP

Array 
(
    [User] => Array 
     (
      [id] => 2 
      [firstname] => first 
      [lastname] => last 
      [phone] => 123-1456 
      [email] => 
      [website] => 
      [group_id] => 1 
      [company_id] => 1 
     ) 

) 

यह सरणी $-> डेटा में संग्रहीत है।

अभी मैं कुंजी ($-- डेटा) का उपयोग कर रहा हूं जो 'उपयोगकर्ता' को पुनर्प्राप्त करता है, लेकिन यह परिणाम तक पहुंचने का सही तरीका नहीं लगता है।

क्या इस परिणाम को पुनर्प्राप्त करने के कोई अन्य तरीके हैं?

धन्यवाद

+0

array_shift() भी ठीक नहीं होगा। – Wayne

उत्तर

7

वहाँ यह कर लेकिन के अन्य तरीके हैं कुछ भी नहीं के रूप में जल्दी और key() का उपयोग कर के रूप में कम। हर दूसरे उपयोग सभी कुंजी प्राप्त करने के लिए है। उदाहरण के लिए, ये सभी एक सरणी में पहली कुंजी लौटाएंगे:

$keys=array_keys($this->data); 
echo $keys[0]; //prints first key 

foreach ($this->data as $key => $value) 
{ 
    echo $key; 
    break; 
} 

जैसा कि आप दोनों पागल हो सकते हैं।

आप एक oneliner चाहते हैं, लेकिन आप अपने आप को गलती से गलत कुंजी प्राप्त करने से बचाने के लिए चाहते हैं, तो इटरेटर पहले तत्व पर नहीं है, तो यह प्रयास करें:

reset($this->data); 

reset():

रीसेट() पहले तत्व के लिए सरणी के आंतरिक पॉइंटर को रिवाइंड करता है और पहले सरणी तत्व का मान देता है।

लेकिन आप जो कर रहे हैं वह मेरे लिए अच्छा लग रहा है। एक ऐसा कार्य है जो आप एक पंक्ति में वही करना चाहते हैं; तुम्हें और क्या चाहिये था?

+0

हम्म मुझे लगता है कि मैं इसके बजाय उस विधि का उपयोग करूंगा। PHP मैनुअल कुंजी() के अनुसार परिभाषित किया गया है "" कुंजी() वर्तमान सरणी स्थिति का सूचकांक तत्व देता है। "" तो, अगर किसी कारण से हम पहली एरे स्थिति में नहीं हैं, तो यह गलत कुंजी वापस कर देगा। – user103219

+0

धन्यवाद, मैं कुंजी() के साथ रहूंगा। – user103219

+1

क्षमा करें मैंने अभी आपका आखिरी संपादन देखा है (मुझे लगता है कि संपादन में एक मिनट या उससे अधिक समय लग सकता है) ... रीसेट() बिल्कुल वही था जो मैं ढूंढ रहा था। मुझे नहीं पता कि सरणी पहली स्थिति में क्यों नहीं होगी, बल्कि आईडी क्षमा के बजाय सुरक्षित रहेंगी! – user103219

0

उपयोग इस (PHP 5.5 +):

echo reset(array_column($this->data, 'id')); 
+0

क्या आप अपने कोड के साथ स्पष्टीकरण प्रदान कर सकते हैं? यह ओपी या भविष्य के उपयोगकर्ताओं को और अधिक मदद कर सकता है। – Bono

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