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

PHP में Array Keys Reset करना


PHP में array के keys को reset करके 0 से शुरू होने वाले numeric keys बनाना।

विधि 1: array_values() (सबसे सरल)

<?php
$arr = ['p' => 150, 'q' => 100, 'r' => 120, 's' => 110];

echo "Before:\n";
var_dump($arr);
/*
array(4) {
  ["p"]=> string(3) "150"
  ["q"]=> string(3) "100"
  ["r"]=> string(3) "120"
  ["s"]=> string(3) "110"
}
*/

$reset = array_values($arr);

echo "After:\n";
var_dump($reset);
/*
array(4) {
  [0]=> string(3) "150"
  [1]=> string(3) "100"
  [2]=> string(3) "120"
  [3]=> string(3) "110"
}
*/

विधि 2: array_merge() (Side Effect)

<?php
$arr = [5 => 'a', 8 => 'b', 10 => 'c'];

// array_merge with empty array re-indexes numeric keys
$reset = array_merge($arr);
// या
$reset = array_merge([], $arr);

var_dump($reset); // [0 => 'a', 1 => 'b', 2 => 'c']

विधि 3: Custom Start Index के साथ

<?php
$arr = ['a' => 150, 'b' => 100, 'c' => 120];

// Start from index 10
$reset = array_combine(range(10, 10 + count($arr) - 1), array_values($arr));
var_dump($reset); // [10 => 150, 11 => 100, 12 => 120]

// Start from 'x' (alphabetic)
$reset = array_combine(
    range('x', chr(ord('x') + count($arr) - 1)), 
    array_values($arr)
);
var_dump($reset); // ['x' => 150, 'y' => 100, 'z' => 120]

विधि 4: foreach Loop (Manual Control)

<?php
$arr = [8 => 'Ben', 4 => 'Kevin', 7 => 'Mark', 3 => 'Hanks'];
$reset = [];
$index = 0;

foreach ($arr as $value) {
    $reset[$index++] = $value;
}

var_dump($reset); // [0 => 'Ben', 1 => 'Kevin', 2 => 'Mark', 3 => 'Hanks']

Multidimensional Arrays के लिए

<?php
$multi = [
    ['id' => 5, 'name' => 'A'],
    ['id' => 2, 'name' => 'B'],
    ['id' => 8, 'name' => 'C']
];

// केवल outer keys reset
$reset = array_values($multi);

// Deep reset (सभी levels)
function deepArrayValues($array) {
    $result = array_values($array);
    foreach ($result as &$value) {
        if (is_array($value)) {
            $value = deepArrayValues($value);
        }
    }
    return $result;
}

कब उपयोग करें

स्थितिविधि
Simple re-index to 0, 1, 2...array_values()
Custom start indexarray_combine(range(...), array_values())
Multiple arrays merge + re-indexarray_merge(...)
Complex logic during resetforeach loop
Nested arraysRecursive function

Performance Note

<?php
$large = array_fill(0, 100000, 'test');
$large = array_combine(range(100000, 199999), $large); // Non-sequential keys

$start = microtime(true);
$reset = array_values($large);
echo "Time: " . (microtime(true) - $start) * 1000 . "ms"; // ~1-2ms
  1. - PHP में explode() फंक्शन क्या है?

    इस लेख में, PHP Explode() फंक्शन का उपयोग करना सीखें जो एक पूर्वनिर्धारित इनबिल्ट PHP फंक्शन है। explode फंक्शन का उपयोग स्ट्रिंग को एलिमेंट्स के टुकड़ों में विभाजित करके ऐरे बनाने के लिए किया जाता है। PHP में explode फंक्शन हमें एक स्ट्रिंग को डिलीमीटर के साथ छोटे कंटेंट में तोड़ने में सक्षम बनाता

  1. - PHP में reset() फंक्शन

    PHP में reset() फंक्शन सरणी के आंतरिक पॉइंटर को उसके पहले तत्व पर सेट करता है। यह पहले सरणी तत्व का मान लौटाता है। यदि सरणी खाली है तो FALSE लौटाता है। सिंटैक्स reset(arr) पैरामीटर्स arr - उपयोग की जाने वाली सरणी। रिटर्न वैल्यू पहले सरणी तत्व का मान। यदि सरणी खाली है तो FALSE। उदाहरण <?php

  1. - C# में स्ट्रिंग को स्ट्रिंग सरणी के तत्वों में कैसे विभाजित करें

    वह स्ट्रिंग सेट करें जिसे आप विभाजित करना चाहते हैं। string str = Hello World!; स्ट्रिंग को अलग-अलग तत्वों में विभाजित करने के लिए split() मेथड का उपयोग करें। string[] res = str.Split( ); C# में स्ट्रिंग को स्ट्रिंग सरणी के तत्वों में विभाजित करने का पूर्ण कोड निम्नलिखित है। उदाहरण using System; c