<?php
function array_change_key_case_secure($array = array(),$case = CASE_UPPER) {
$secure = array();
if ($case == CASE_UPPER) {
foreach ($array as $key=>$val) {
$key = strtoupper($key);
if (!array_key_exists($key,$secure)) {
$secure[$key][] = $val;
} else {
$secure[$key][] = $val;
}
}
} else if ($case == CASE_LOWER) {
foreach ($array as $key=>$val) {
$key = strtolower($key);
if (!array_key_exists($key,$secure)) {
$secure[$key][] = $val;
} else {
$secure[$key][] = $val;
}
}
}
foreach ($secure as $key=>$val) {
if (count($secure[$key]) == 1) {
$secure[$key] = $val[0];
}
}
return $secure;
}
$array = array(
'a' => "john",
'A' => "vary",
'c' => "cocol",
);
print_r($array);
$array = array_change_key_case_secure($array,CASE_UPPER);
print_r($array);
?>
output:
Array
(
[a] => john
[A] => vary
[c] => cocol
)
Array
(
[A] => Array
(
[0] => john
[1] => vary
)
[C] => cocol
)