Zasób PHP to specjalny typ, który sam w sobie jest referencją. Przekazywanie go przez wartość lub jawnie przez odwołanie nie zrobi różnicy (tzn. nadal jest odwołaniem). Możesz to sprawdzić samodzielnie w PHP4:
funkcjafunction 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