Indubbiamente una soluzione estremamente elegante

Ho fatto delle indagini su funzioni che non conoscevo bene, le riporto xche' forse potrebbero essere utili a qualcun altro:

in_Array() Cerca tutti i valori in un array e riporta true se il valore del primo argomento e' stato trovato nell'array del secondo argomento

array_push() Aggiunge elementi nell'array indicati nel primo argomento

var_dump() e' simile a print_r con la differenza che da piu' informazioni. Oltre a stampare il contenuto della variabile, la funzione mostra il tipo di dato per ogni elemento di un array o in un oggetto.

Domanda:
Perche' usi questa sintassi?
__variabile
oppure
__nomefunzione

e poi
perche' ai parameri formali gli passi & che, se nn erro, rappresenta l'indirizzo alla variabile?

Grazie Tante.