|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #31058 array_change_key_case recursive option
Submitted: 2004-12-10 21:53 UTC Modified: 2021-02-23 15:32 UTC
Avg. Score:4.1 ± 1.1
Reproduced:7 of 7 (100.0%)
Same Version:4 (57.1%)
Same OS:5 (71.4%)
From: veeeee at gmail dot com Assigned: cmb (profile)
Status: Wont fix Package: Arrays related
PHP Version: 5.0.2 OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
Solve the problem:
7 + 20 = ?
Subscribe to this entry?

 [2004-12-10 21:53 UTC] veeeee at gmail dot com
It would be quite handy were there an option (optional 3rd parameter) to array_change_key_case so that it would recurse into multi-dimensional arrays so one would not need to create work arounds such as:

function ack_r($array, $case) 
  $array = array_change_key_case($array, $case);
  foreach ($array as $key => $value) {
    if ( is_array($value) ) {
      $array[$key] = ack_r($value, $case);
  return $array;


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2010-09-24 10:27 UTC]
-Package: Feature/Change Request +Package: *General Issues
 [2010-09-24 10:27 UTC]
Re-requested in request #52917.
 [2010-09-24 17:52 UTC] luis dot pessoa67 at ibest dot com dot br
another way to do it:

    function ack_r3(&$array, $case=CASE_LOWER, $flag_rec=false) 
      $array = array_change_key_case($array, $case);
      if ( $flag_rec ) {
        foreach ($array as $key => $value) {
            if ( is_array($value) ) {
                ack_r3($array[$key], $case, true);

note that: ack_r3($array, $case, false) <=> array_change_key_case($array, $case)
 [2018-02-11 17:52 UTC]
-Package: *General Issues +Package: Arrays related
 [2021-02-23 15:32 UTC]
-Status: Open +Status: Wont fix -Assigned To: +Assigned To: cmb
 [2021-02-23 15:32 UTC]
I don't see much point in adding this feature to php-src, since it
can trivially be implemeted in userland code, and there doesn't
appear to big downside in doing so.

If anybody still feels strongly about this, please pursue the RFC

[1] <>
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Apr 14 07:01:28 2024 UTC