you should be able to assign an object in array declaration, however if you want to also assign it to a variable, you should enclose it in parenthesis ().
I'm not sure, however about the last assignment of 'Func' to the output of $user->load() - have to test that to see if it worked.
$test = array('Load'=> ($user =new User(array('UserID'=>1))), 'Func'=>$user->Load());
I'd tend to agree with NogDog's suggestion, or a combination of both:
$user = new User(array('UserID'=>1));
$test = array( 'Load' => $user, 'Func' => $user->Load() );
keep in mind, however, you are assigning 'Func' to the output of $user->Load(), not to the actual function itself.