2011-02-06 26 views
40
में सरणी कुंजी से नए चर बनाएं

मान लीजिए मैं इस तरह, एक सरणी है:पीएचपी

$foo = array('first' => '1st', 
      'second' => '2nd', 
      'third' => '3rd'); 

मैं कैसे सरणी से बाहर चाबियाँ ले सकते हैं और उन्हें अपने स्वयं के चर बना सकते हैं? उदाहरण के लिए, सरणी $foo बन जाएगा:

$first = '1st'; 
$second = '2nd'; 
$third = '3rd'; 

मैं इस पूछना क्योंकि मैं अपने OOP के साथ मदद करने के लिए एक MVC ढांचे बनाने रहा हूँ, और मैं उपयोगकर्ता चाहते देखें लोड हो रहा है समारोह, करने के लिए एक चर पारित करने के लिए होगा जो उपयोगकर्ता को यह जानने के बिना टेम्पलेट में चर का उपयोग करने की अनुमति देगा कि सरणी को क्या कहा जाता था।

उदाहरण के लिए:

$array = array('title' => 'My blog!' [...]); 
$this->load->view('view.php', $array); 

view.php:

echo $title; 

आउटपुट:

मेरा ब्लॉग!

+0

पीएस उदाहरण कोडइग्निटर दाएं –

+0

से है यह बिल्कुल प्रश्न के लिए प्रासंगिक नहीं है। कुछ अन्य मामलों में, यदि आपके पास समान क्रम के साथ मूल्यों की छोटी सरणी है, तो आप उन्हें सूची() द्वारा भी असाइन कर सकते हैं जो अधिक आईडीई अनुकूल है। '$ info = array ('कॉफी', 'ब्राउन', 'कैफीन'); सूची ($ पेय, $ रंग, $ पावर) = $ जानकारी; ' –

उत्तर

20

आप ऐसा कर सकता है:

foreach($foo as $key => $value) { 
    $$key = $value; 
} 

echo $first; // '1st' 

ध्यान दें कि यह आम तौर पर हालांकि हतोत्साहित किया जाता है:

foreach($foo as $k => $v) { 
    $$k = $v; 
} 
+3

+1, परिवर्तनीय चर का अच्छा उपयोग :) –

4

एक सरल विधि चर चर का उपयोग करने के लिए है। टेम्पलेट के भीतर वेरिएबल्स को स्कॉप्ड करने की अनुमति देने के लिए अपने टेम्पलेटिंग सिस्टम को बदलना बेहतर होगा। अन्यथा आपको टकराव के साथ समस्या हो सकती है और उन्हें अपने अस्तित्व के लिए परीक्षण करना पड़ता है, आदि