You passed the action an associative array, so your hooked function will recieve an associative array. It’s a little clearer if we retype it like this:
$associative_array = array(
'product_id' => $product_id ,
'outbiddeduser_id' => $outbiddeduser,
'log_id' => $log_id
);
do_action( 'woocommerce_simple_auctions_outbid', $associative_array );
Thus:
add_action('woocommerce_simple_auctions_outbid', 'test', 10, 1);
function test( $associative_array ) {
It comes in as an array, because that’s what you passed through. There’s no magic unpacking of the array in do_action