My favorite analogue for references is a huge filing cabinet where each drawer is a variable. The label on the drawer is the name of the variable, the contents of the drawer is the value of the variable. A reference is just another label on the drawer. However, in reality, there are special variables which PHP call resources. For example, for a MySQL database connection, you will only find a little note in the drawer saying "I am not a normal variable, find the special cabinet called MySQL connections, and drawer 1 there has the connection data".