Christoph Boget schreef:
"joe" and "0" are keys that I created whereas the key "1" and "2" are

...

php doesn't differentiate between numeric [integer] strings and actual
integers with regard to array keys.

herein lies the 'problem'

)

but my function above would create an array that looks like this:

Array
(
 [joe] => array( bob, that )
 [0] => array( briggs, other )
 [1] => array( whatever, this )
 [2] => array( whereever, there )
)

perhaps I am approaching this a$$backwards.  I just wanted to keep the
merged array in more or less the same form as the original arrays in
the sense that those values that didn't originally have a user defined
key are not grouped together like those that did originally have a
user defined key.

where do these arrays come from? why is it important to differentiate
between 'user keys' and 'php keys'? if the difference is important maybe
you need to think about creating a different data structure to start with

e.g.

$a = array(
        array("key" => "joe", "val" => "bob"),
        array("key" => "0",   "val" => "briggs"),
        array("key" => null, "val" => "whatever"),
        array("key" => null, "val" => "whatever"),
);

$b = array(
        array("key" => "joe", "val" => "that"),
        array("key" => "0",   "val" => "other"),
        array("key" => null, "val" => "this"),
        array("key" => null, "val" => "there"),
);

$r = array();
foreach(array($a, $b) as $arr)
        foreach($arr as $tmp)
                if (!is_null($tmp["key"]))
                        $r[$tmp["key"]][] = $tmp["val"];    
                else
                        $r[] = $tmp["val"];

foreach($r as $k => $v)
        if (is_array($v) && count($v) == 1)
                $r[$k] = $v[0];

var_dump($r);

still it would help if you could explain why you need this,
and why you have 'inappropriate' data structures to start with ...
as I mentioned already, you can't differentiate between an automatically
created numeric index and a user defined associative index that happens
to be equivalent to an integer.


thnx,
Christoph


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to