Une ressource PHP est un type spécial qui est déjà une référence en soi. Le passer par valeur ou explicitement par référence ne fera aucune différence (c'est-à-dire qu'il s'agit toujours d'une référence). Vous pouvez vérifier cela par vous-même sous PHP4 :
function get_connection() {
$test = mysql_connect('localhost', 'user', 'password');
mysql_select_db('db');
return $test;
}
$conn1 = get_connection();
$conn2 = get_connection(); // "copied" resource under PHP4
$query = "INSERT INTO test_table (id, field) VALUES ('', 'test')";
mysql_query($query, $conn1);
print mysql_insert_id($conn1)."<br />"; // prints 1
mysql_query($query, $conn2);
print mysql_insert_id($conn2)."<br />"; // prints 2
print mysql_insert_id($conn1); // prints 2, would print 1 if this was not a reference