Jump to content


This topic is now archived and is closed to further replies.

Jim from Oakland

change key (name) in associative array?

Recommended Posts

In the array (shown below) I need to change the 'name'
of one of the (first level) keys.

In the example, I'd like to change the key 'Boat' to
'Ship' without changing the order of the array

['Car']['Note']='needs work';
['Boat']['Note']='for sale';

Thanks a billion!

Share this post

Link to post
Share on other sites
For all intensive purposes, an associative array doesn't have an order. That's why it's referenced by the "key" of the array.

You can do the following:

$ary['Car']['ID'] = '445';
$ary['Car']['Color'] = 'blue';
$ary['Car']['Note'] = 'needs work';
$ary['Boat']['ID'] = '491';
$ary['Boat']['Color'] = 'green';
$ary['Boat']['Note'] = 'for sale';
$ary['Plane']['ID'] = '420';
$ary['Plane']['Color'] = 'azure';
$ary['Plane']['Note'] = 'ready';

$ary['Ship']['ID'] = $ary['Boat']['ID'];
$ary['Ship']['Color'] = $ary['Boat']['Color'];
$ary['Ship']['Note'] = $ary['Boat']['Note'];


echo '<pre>', print_r($ary, TRUE), '</pre>';


However, the array will look like this:
    [Car] => Array
            [ID] => 445
            [Color] => blue
            [Note] => needs work

    [Plane] => Array
            [ID] => 420
            [Color] => azure
            [Note] => ready

    [Ship] => Array
            [ID] => 491
            [Color] => green
            [Note] => for sale


Which IMO is not wrong, since one can still access it using the 'Ship' key.

You might want to rethink what you're trying to do or how you're accessing the associative array.

Share this post

Link to post
Share on other sites
just out of curiosity..why do you wanna do this? at face value, all i can suggest (other than toplay's suggestion) is..why not just change it in the code to ship, if you want to use ship instead of boat?

Share this post

Link to post
Share on other sites


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.