2010-02-14 16 views
9

मैं कैसे जांच सकता हूं कि यह कुंजी सरणी में अंतिम तत्व है या नहीं?जांच कर रहा है कि एक सरणी में एक कुंजी अंतिम तत्व है या नहीं?

$array = array("a","b","c"); 

मूल्य "सी" कुंजी 2. होता वहाँ इस is_end(2) जो सही या गलत आधार पर अगर वे कुंजी सरणी के अंतिम है देता है जैसे कुछ कोड है? क्या कोई प्रकार का while() कथन है जिसका मैं उपयोग कर सकता हूं?

+0

संभावित डुप्लीकेट: http://stackoverflow.com/questions/1892848/return-last-numeric-key-not-value-of-an-array, http://stackoverflow.com/questions/ 216030/क्या-द-द-बेस्ट-विधि-ऑफ-द-द-द-द-द-द-द-द-द-द-द-द-द-द-द-द-द-ए-ए-ए-ए-आइटम-इन-पीएचपी –

उत्तर

20

आप सरणी के अंत में कुंजी प्राप्त करने के लिए end() और key() का उपयोग कर सकते हैं।

end($array); 
$lastKey = key($array); 
+0

सही है! धन्यवाद: डी – tarnfeld

+0

शायद आपका मतलब कुछ ऐसा है: अंत ($ सरणी); $ lastKey = key ($ array); लेकिन आप इसे केवल 1 वाक्य में नहीं कर सकते ..... – useless

+0

@unless हाँ। फिक्स्ड। – Yacoby

5

आप सरणी मूल्यों count कर सकते हैं:

$last_index = count($array) - 1; 

लेकिन इस साहचर्य सरणियों के साथ काम नहीं करेगा।

+0

यह वह तरीका है जिसका मैं सामान्य रूप से उपयोग करता हूं? कभी भी यह सुनिश्चित न करें कि यह सबसे अच्छा है, लेकिन स्वीकार्य उत्तर ऐसा लगता है कि उदाहरण के लिए फ़ोरैच लूप के साथ उपयोग करते समय यह समस्या/भ्रम पैदा करेगा। किसी को कोई अंतर्दृष्टि मिली है? – andyface

+1

'foreach' और' end' दोनों आंतरिक सरणी सूचक ("वर्तमान" तत्व में) को संशोधित करते हैं, इसलिए एक ही समय में दोनों संरचनाओं का उपयोग करके चीजों को गड़बड़ कर दिया जाता है। –

+0

पूर्णता के लिए: गिनती() मान्य वस्तुओं की संख्या की संख्या देता है। यदि आपके पास 0,1,2,3 से स्ट्रिंग कुंजियां या अन्य कुंजी ऑर्डर हैं, .. $ array [count ($ array) -1] या तो काम नहीं करेगा। –

0

मान लें कि आप एक associative array का उपयोग नहीं करते, तो आप सिर्फ सरणी की लंबाई की जांच कर सकता, count का उपयोग कर। यह 1+last index in array

+0

पूर्णता के लिए: गिनती() मान्य वस्तुओं की संख्या की संख्या देता है। यदि आपके पास 0,1,2,3 से स्ट्रिंग कुंजियां या अन्य कुंजी ऑर्डर हैं, .. $ array [count ($ array) -1] काम नहीं करेगा। –

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