tags:

views:

54

answers:

2

Hello,

I have an associative array, however when I add values to it using the below function it seems to overwrite the same keys. Is there a way to have multiple of the same keys with different values? Or is there another form of array that has the same format?

I want to have 42=>56 42=>86 42=>97 51=>64 51=>52 etc etc

   function array_push_associative(&$arr) {
       $args = func_get_args();
       foreach ($args as $arg) {
           if (is_array($arg)) {
               foreach ($arg as $key => $value) {
                   $arr[$key] = $value;
                   $ret++;
               }
           }else{
               $arr[$arg] = "";
           }
       }
       return $ret;
    }
+1  A: 

No, you cannot have multiple of the same key in an associative array.

You could, however, have unique keys each of whose corresponding values are arrays, and those arrays have multiple elements for each key.

So instead of this...

42=>56 42=>86 42=>97 51=>64 51=>52

...you have this:

Array (
    42 => Array ( 56, 86, 97 )
    51 => Array ( 64, 52 )
)
Amber
+3  A: 

A key is an extension of a variable. If you overwrite the variable ... you overwrite the variable.

Mark Tomlin