I realize it's resolved, but it seems so much easier to rewrite the owned users as references to that user (2 nested loops containing 2 more lines of code. But perhaps I missunderstood the purpose.
PHP Code:
$accounts = array
(
    
'user1' => array
        (
            
'a' => null,
            
'b' => null,
            
'c' => null,
            
'd' => null,
            
'e' => null,
            
'f' => null,
        ),
    
'user2' => array
        (
            
'1_value' => null,
            
'2_value' => null,
            
'3_value' => null,
            
'user1' => null,
        ),

    
'user3' => array
        (
            
'dog' => null,
            
'cat' => null,
            
'orange' => null,
            
'user2' => null,
        ),

    
'user4' => array
        (
            
'tree' => null,
            
'frog' => null,
            
'leaf' => null,
        ),
);

foreach (
$accounts as $user => $owned)
{
    foreach (
$owned as $k => $val)
    {
        if (isset(
$accounts[$k]))
        {
            
$accounts[$user][$k] = &$accounts[$k];
        }
    }

Yielding an array like (showing only $accounts['user2'])
Code:
   [user2] => Array
        (
            [1_value] => 
            [2_value] => 
            [3_value] => 
            [user1] => Array
                (
                    [a] => 
                    [b] => 
                    [c] => 
                    [d] => 
                    [e] => 
                    [f] => 
                )

        )