Req #52917 [Opn->Dup]: Function to change case-key recursively

From: Date: Fri, 24 Sep 2010 08:27:22 +0000
Subject: Req #52917 [Opn->Dup]: Function to change case-key recursively
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-154609@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=52917&edit=1 ID: 52917 Updated by: aharvey@php.net Reported by: luis dot pessoa67 at ibest dot com dot br Summary: Function to change case-key recursively -Status: Open +Status: Duplicate Type: Feature/Change Request Package: Arrays related Operating System: Any PHP Version: 5.3.3 Block user comment: N New Comment: Duplicate of request #31058. Previous Comments: ------------------------------------------------------------------------ [2010-09-23 21:21:46] kalle@php.net It might be worth adding a recursive version or flag to the array_change_key_case() function ------------------------------------------------------------------------ [2010-09-23 20:53:41] luis dot pessoa67 at ibest dot com dot br Description: ------------ Hi, I suggest to create in the next php versions a function similar to array_change_key_case() but doing it recursevely. Bellow I put some example to doing that and the results. regards, Luis Test script: --------------- <?php function arrKey2Lower(&$arrVals) { foreach( $arrVals as $key => $item ) { $key2 = strtolower($key); if ( $key2 != $key) { unset($arrVals[$key]); $arrVals[$key2]=$item; $key=$key2; } if ( is_array($item) ) { arrKey2Lower($arrValores[$key]); } } } $arr = array('ID' => 1, 'NAME'=> 'Luis', 'Contact' => array('PHONE' => '3010-7148', 'E-MAIL' => 'luis@net.com') ); arrKey2Lower($arr); var_dump($arr); ?> Expected result: ---------------- array(3) { ["id"]=> int(1) ["name"]=> string(4) "Luis" ["contact"]=> array(2) { ["phone"]=> string(9) "3010-7148" ["e-mail"]=> string(12) "luis@net.com" } } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=52917&edit=1

« previous php.bugs (#154609) next »