किसी सरणी के पहले N तत्व प्राप्त करें?


207

इसे निष्पादित करने का श्रेष्ठ तरीका क्या है?


7
अगर आपको कभी किसी समारोह में जाने के लिए फ़ंक्शन खोजने की आवश्यकता है, तो यहां जाएं: php.net/manual/en/function.array.php और फ़ंक्शंस देखें।
गैलेन

21
बल्कि SO पर आने के बजाय!?
हृषिकेश चौधरी

जवाबों:


359

Array_slice () का उपयोग करें

यह PHP मैन्युअल से एक उदाहरण है : array_slice

$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

केवल एक छोटा सा मुद्दा है

यदि सरणी सूचक आपके लिए सार्थक हैं, तो याद रखें कि संख्यात्मक सरणी सूचक array_sliceको रीसेट और फिर से व्यवस्थित करेगा । इससे बचने के लिए आपको ध्वज सेट की आवश्यकता है । (4th पैरामीटर, 5.0.2 से उपलब्ध है)।preserve_keystrue

उदाहरण:

$output = array_slice($input, 2, 3, true);

आउटपुट:

array([3]=>'c', [4]=>'d', [5]=>'e');


12

वर्तमान क्रम में? मैं array_slice () कहूंगा । चूंकि यह बिल्ट इन फंक्शन है इसलिए एन तक एक इन्क्रीमेंट इंडेक्स का ध्यान रखते हुए यह सरणी से लूपिंग से तेज होगा।


4

array_slice () कोशिश करने के लिए सबसे अच्छी बात है, निम्नलिखित उदाहरण हैं:

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

1

यदि आप पहले N तत्वों को प्राप्त करना चाहते हैं और इसे सरणी से हटा भी सकते हैं, तो आप array_splice()"p" को "स्प्लिट" में नोट कर सकते हैं :

http://docs.php.net/manual/da/function.array-splice.php

इसका इस्तेमाल ऐसे करें: $array_without_n_elements = array_splice($old_array, 0, N)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.