note 64438 added to function.array-change-key-case
| From: | egingell at sisna dot com | Date: | Fri, 14 Apr 2006 12:24:50 +0000 |
| Subject: | note 64438 added to function.array-change-key-case | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-108059@lists.php.net to get a copy of this message | ||
I have written a function that, in addition to upper casing and lower casing, will upper case the
first character and lower case the rest. I did this because I was bored and I like to do these
things.
<?php
/**
* Take an array and change the case of the keys according to $mode
* bool array_key_case_change( array &array [, int mode ] )
*
* array is the input array.
*
* mode can be one of three choices: CASE_UPPER, CASE_LOWER, CASE_FIRST,
* defaults to CASE_FIRST if left out.
*
* Returns TRUE on success, FALSE on failure.
*
* Numeric keys will not change since there is no capital 2 (unless you work in tech support).
*
* The following IF statements will make sure that the required constants are set
**/
if (!defined('CASE_UPPER')) define('CASE_UPPER', 1);
if (!defined('CASE_LOWER')) define('CASE_LOWER', 2);
if (!defined('CASE_FIRST')) define('CASE_FIRST', 3);
function array_key_case_change(&$array, $mode = CASE_FIRST) {
// Make sure $array is really an array
if (!is_array($array)) return false;
while (list($key, $value) = each($array)) {
// First we unset the original so it's not lingering about
unset($array[$key]);
// Then modify the $key
switch($mode) {
case CASE_UPPER:
$key = strtoupper($key);
break;
case CASE_LOWER:
$key = strtolower($key);
break;
case CASE_FIRST:
$key = ucfirst(strtolower($key));
break;
}
// Lastly readd to the array using the new $key
$array[$key] = $value;
}
return true;
}
?>
----
Server IP: 216.194.113.175
Probable Submitter: 65.100.194.45
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/function.array-change-key-case.php
Edit -- http://master.php.net/note/edit/64438
Del: integrated -- http://master.php.net/note/delete/64438/integrated
Del: useless -- http://master.php.net/note/delete/64438/useless
Del: bad code -- http://master.php.net/note/delete/64438/bad+code
Del: spam -- http://master.php.net/note/delete/64438/spam
Del: non-english -- http://master.php.net/note/delete/64438/non-english
Del: in docs -- http://master.php.net/note/delete/64438/in+docs
Del: other reasons-- http://master.php.net/note/delete/64438
Reject -- http://master.php.net/note/reject/64438
Search -- http://master.php.net/manage/user-notes.php