Re: Simple array problem

From: Date: Tue, 01 Jul 2008 08:19:46 +0000
Subject: Re: Simple array problem
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-276153@lists.php.net to get a copy of this message
Quoting Brian Dunning <brian@briandunning.com>:
I'm trying to add a number to a value in an array. Pretend I have this: $new_value = array('orange', 2); $arr = array( array('blue', 4), array('orange', 5), array('green', 6)); I want to add the new value to the existing matching array element, so I end up with this: $arr = array( array('blue', 4), array('orange', 7), array('green', 6)); Seems like it should be really simple but all the ways I can figure out to do it are too kludgey.
Just loop through the array to update. And use in_array to check if the key to update exists. Then you can do $array[$key][1] = $newValue. Something like this maybe: function updateArray(&$array, $update) {
    list($updateKey, $updateValue) = $update;
    foreach ($array as $key => $subArray) {
        if (in_array($updateKey, $subArray)) {
            $array[$key][1] = $updateValue;
        }
    }
} updateArray($arr, $new_value); var_dump($arr);

« previous php.general (#276153) next »