जवाबों:
array_slice एक सरणी का एक टुकड़ा देता है
$sliced_array = array_slice($array, 0, 5)
वह कोड है जिसे आप अपने मामले में पहले पांच तत्वों को वापस करना चाहते हैं
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice लौटाता है"। लेकिन मैं इसे थोड़ा स्पष्ट करने के लिए अपने उत्तर को संपादित करूंगा।
array_splice - सरणी का एक भाग निकालें और इसे किसी अन्य चीज़ से बदलें:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
PHP मैनुअल से:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
यदि लंबाई छोड़ी जाती है, तो ऑफसेट से सरणी के अंत तक सब कुछ हटा दिया जाता है । यदि लंबाई निर्दिष्ट है और सकारात्मक है, तो वह कई तत्वों को हटा दिया जाएगा। यदि लंबाई निर्दिष्ट है और ऋणात्मक है, तो हटाए गए भाग का अंत सरणी के अंत से कई तत्व होंगे। युक्ति: सरणी के अंत तक ऑफसेट से सब कुछ हटाने के लिए जब प्रतिस्थापन भी निर्दिष्ट किया जाता है, लंबाई के लिए गणना ($ इनपुट) का उपयोग करें।
यदि आप पहले 5 तत्वों का उत्पादन करना चाहते हैं, तो आपको कुछ लिखना चाहिए:
<?php
if (!empty ( $an_array ) ) {
$min = min ( count ( $an_array ), 5 );
$i = 0;
foreach ($value in $an_array) {
echo $value;
$i++;
if ($i == $min) break;
}
}
?>
यदि आप एक फ़ंक्शन लिखना चाहते हैं जो सरणी का हिस्सा देता है, तो आपको array_slice का उपयोग करना चाहिए:
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
एक अधिक वस्तु उन्मुख तरीका # [] विधि को एक सीमा प्रदान करना होगा। उदाहरण के लिए:
मान लें कि आप किसी सरणी से पहले 3 आइटम चाहते हैं।
संख्या = [1,2,3,4,5,6]
संख्या [0..2] # => [1,2,3]
मान लें कि आप किसी सरणी से पहला x आइटम चाहते हैं।
संख्या [0..x-1]
इस विधि के बारे में महान बात यह है कि यदि आप सरणी से अधिक आइटम मांगते हैं, तो यह पूरे सरणी को वापस कर देता है।
संख्या [0..100] # => [1,2,3,4,5,6]