2010-02-17 12 views
13

मैं एक महत्वपूर्ण इसलिए की तरह एक चर में संग्रहीत किए गए है कैसे सरणी से मान प्राप्त करने के:पीएचपी यदि कुंजी एक चर

$value = $array[$key]; 
:

$key = 4; 

मैं बहुत तरह प्रासंगिक मूल्य प्राप्त करने की कोशिश

लेकिन यह असफल रहा। मदद।

+2

आपका क्या मतलब है "विफल", कोई त्रुटि? – Sampson

+2

क्या आप वाकई $ array [4] में कोई मान रखते हैं? क्योंकि आपका वाक्यविन्यास सही है - समस्या के लिए कहीं और देखें। – Erik

+2

क्या आप कुछ और विवरण जोड़ सकते हैं, उदाहरण के लिए $ array की सामग्री कौन सा है? – Dominik

उत्तर

22

आपका कोड ठीक हो रहा है, यह सुनिश्चित करें कि कुंजी क्या तुम सच में सरणी में मौजूद है या इस तरह के कुंजी अपने सरणी में एक मूल्य है निर्दिष्ट बनाने जैसे:

$array = array(4 => 'Hello There'); 
print_r(array_keys($array)); 
// or better 
print_r($array); 

आउटपुट:

Array 
(
    [0] => 4 
) 

अब :

$key = 4; 
$value = $array[$key]; 
print $value; 

आउटपुट:

Hello There 
+1

print_r ($ सरणी) बेहतर होगा - $ सरणी [4] मौजूद हो सकती है लेकिन खाली हो सकती है। – Erik

0

यह आपकी इच्छानुसार काम करना चाहिए।

$array = array('value-0', 'value-1', 'value-2', 'value-3', 'value-4', 'value-5' /* … */); 
$key = 4; 
$value = $array[$key]; 
echo $value; // value-4 

लेकिन शायद 4 कुंजी के साथ कोई तत्व नहीं है। आप कोई बात नहीं क्या कुंजी यह है fiveth आइटम प्राप्त करना चाहते हैं, तो आप array_slice उपयोग कर सकते हैं: दूसरों

$value = array_slice($array, 4, 1); 
5
$value = (array_key_exists($key, $array) && !empty($array[$key])) 
     ? $array[$key] 
     : 'non-existant or empty value key'; 
2

के रूप में कहा गया है, यह संभावना नाकाम रहने क्योंकि अनुरोधित कुंजी सरणी में मौजूद नहीं है। मेरे पास एक सहायक कार्य है जो सरणी, संदिग्ध कुंजी लेता है, साथ ही कुंजी में मौजूद होने पर ईवेंट में डिफ़ॉल्ट वापसी भी होती है।

protected function _getArrayValue($array, $key, $default = null) 
    { 
     if (isset($array[$key])) return $array[$key]; 
     return $default; 
    } 

उम्मीद है कि यह मदद करता है।

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