PHP में array_change_key_case() फ़ंक्शन सरणी की सभी कुंजियों को छोटे अक्षर (lowercase) या बड़े अक्षर (uppercase) में बदल देता है। केवल स्ट्रिंग कुंजियाँ प्रभावित होती हैं, संख्यात्मक कुंजियाँ अपरिवर्तित रहती हैं।
सिंटैक्स (Syntax)
array_change_key_case(array $arr, int $case = CASE_LOWER): array
पैरामीटर्स (Parameters)
$arr − इनपुट सरणी।
$case (वैकल्पिक) −
CASE_LOWER(0, डिफ़ॉल्ट) याCASE_UPPER(1)।
रिटर्न वैल्यू (Return Value)
बदली हुई कुंजियों वाली नई सरणी लौटाता है। यदि इनपुट सरणी नहीं है तो false।
उदाहरण (Examples)
उदाहरण 1: कुंजियों को अपरकेस में बदलना
<?php
$vehicle = array("b" => "Bus", "t" => "Truck");
$result = array_change_key_case($vehicle, CASE_UPPER);
print_r($result);
?>
आउटपुट
Array
(
[B] => Bus
[T] => Truck
)
उदाहरण 2: कुंजियों को लोअरकेस में बदलना (डिफ़ॉल्ट)
<?php
$vehicle = array("C" => "Car", "T" => "Bike");
$result = array_change_key_case($vehicle, CASE_LOWER);
print_r($result);
?>
आउटपुट
Array
(
[c] => Car
[t] => Bike
)
उदाहरण 3: संख्यात्मक कुंजियाँ अपरिवर्तित
<?php $arr = [0 => "zero", 1 => "one", "A" => "A", "b" => "B"]; $result = array_change_key_case($arr, CASE_UPPER); print_r($result); // संख्यात्मक 0, 1 बने रहते हैं, "A" -> "A", "b" -> "B" ?>
उदाहरण 4: डुप्लिकेट कुंजी टकराव (अंतिम जीतता है)
<?php $arr = ["a" => 1, "A" => 2]; $result = array_change_key_case($arr, CASE_UPPER); print_r($result); // ["A" => 2] - अंतिम मान ?>
व्यावहारिक उपयोग: केस-इनसेंसिटिव सरणी एक्सेस
<?php $config = ["DB_HOST" => "localhost", "db_user" => "root", "Db_Pass" => "secret"]; $normalized = array_change_key_case($config, CASE_LOWER); // अब केस-इनसेंसिटिव एक्सेस: echo $normalized["db_host"]; // localhost echo $normalized["DB_HOST"]; // localhost echo $normalized["Db_Host"]; // localhost ?>
नोट
- मूल सरणी अपरिवर्तित रहती है (नई सरणी लौटाता है)।
- डुप्लिकेट कुंजी टकराव पर अंतिम मान जीतता है (कोई चेतावनी नहीं)।
- बहुआयामी सरणी पर केवल शीर्ष-स्तर की कुंजियाँ बदलती हैं।