Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में सरणी से तत्व हटाकर पुनः अनुक्रमित (Re-index) करना

PHP में सरणी से एक तत्व हटाने के लिए unset() फ़ंक्शन का उपयोग किया जाता है, लेकिन यह कुंजियों में अंतराल छोड़ देता है। कुंजियों को पुनः क्रमिक (0,1,2...) बनाने के लिए array_values() का उपयोग करें।

उदाहरण

<?php
$my_arr = array('this', 'is', 'a', 'sample', 'only');

echo "The array is ";
var_dump($my_arr);

unset($my_arr[4]); // इंडेक्स 4 ('only') हटाएं

echo "The array is now ";
$my_arr_2 = array_values($my_arr); // कुंजियाँ रीसेट
var_dump($my_arr_2);
?>

आउटपुट

The array is
array(5) {
  [0]=> string(4) "this"
  [1]=> string(2) "is"
  [2]=> string(1) "a"
  [3]=> string(6) "sample"
  [4]=> string(4) "only"
}
The array is now
array(4) {
  [0]=> string(4) "this"
  [1]=> string(2) "is"
  [2]=> string(1) "a"
  [3]=> string(6) "sample"
}

चरण:

  1. unset($arr[$index]) — निर्दिष्ट कुंजी का तत्व हटाता है।
  2. array_values($arr) — सभी मानों को लेकर नई सरणी बनाता है जिनकी कुंजियाँ 0 से शुरू होती हैं।

अन्य तरीके

विधिकोडकुंजियाँ रीसेट?
unset() + array_values()unset($arr[2]); $arr = array_values($arr);हाँ
array_splice()array_splice($arr, 2, 1);हाँ (मूल सरणी संशोधित)
array_filter()$arr = array_values(array_filter($arr, fn($k) => $k !== 2, ARRAY_FILTER_USE_KEY));हाँ

array_splice() उदाहरण (अधिक सीधा)

<?php
$arr = ['a', 'b', 'c', 'd'];
array_splice($arr, 1, 1); // इंडेक्स 1 ('b') हटाएं
print_r($arr); // ['a', 'c', 'd'] कुंजियाँ 0,1,2
?>

सहयोगी सरणियों के लिए

सहयोगी सरणियों में "पुनः अनुक्रमित" का अर्थ कुंजियाँ बदलना नहीं, बल्कि तत्व हटाना है। unset($arr['key']) पर्याप्त है।

सावधानी

  • unset() के बाद count($arr) सही गिनती देता है, लेकिन $arr[3] एक्सेस करने पर Undefined array key नोटिस मिल सकता है यदि कुंजी 3 हटा दी गई थी।
  • array_values() नई सरणी लौटाता है; मूल सरणी अपरिवर्तित रहती है जब तक असाइन न करें: $arr = array_values($arr);
  1. - PHP में एरे को री-इंडेक्स कैसे करें?

    PHP में एरे को री-इंडेक्स करने के लिए, कोड इस प्रकार है: उदाहरण: न्यूमेरिक कीज़ री-इंडेक्स $value) { echo Key = . $key . , Value = . $value . \n; } ?> आउटपुट Array... Key = 0, Value = 150 Key = 1, Value = 100 Key = 2, Value = 120 Key = 3, Value = 110 Key = 4, Value = 115 Array after r

  1. - PHP में एरे के पहले एलिमेंट कैसे प्राप्त करें?

    PHP में एरे के पहले एलिमेंट को प्राप्त करने के लिए, कोड इस प्रकार है: उदाहरण: डायरेक्ट की एक्सेस 125 ); echo Array value ...\n; echo Value 1 = . $arr[p], \n; ?> आउटपुट Array value ... Value 1 = 150 उदाहरण: reset() फ़ंक्शन 125 ); echo Value 1 = . reset($arr); ?> आउटपुट Value 1 = 150

  1. - C# एरे से एलिमेंट डिलीट/रिमूव कैसे करें

    C# एरे से एलिमेंट हटाना C# में एरे फिक्स्ड साइज़ के होते हैं; एक बार बनने के बाद उनका आकार नहीं बदल सकता। डिलीट करने के लिए आपको: निर्दिष्ट इंडेक्स के बाद के एलिमेंट्स को एक स्थान बाएं शिफ्ट करना होगा। लॉजिकल साइज़ कम करना होगा (या नया छोटा एरे बनाना)। शिफ्टिंग एल्गोरिदम // pos = डिलीट करने की पो