Aqui é onde faço postagens de coisas que acho interessante.
Por padrão, argumentos de função são passados por valor (de forma que se você mudar o valor do parà¢metro dentro da função, ele não é alterado fora da função). Para permitir que uma função modifique os seus argumentos, eles devem ser passados por referência.
Para ter um argumento para uma função sempre passado por referência, adicione antes dele um "e comercial" (&) ao nome do argumento na definição da função: ( Fonte)
Vamos criar uma variável e atribuir um valor e exibir seu conteúdo
<?php
// Variavel que armazena um nome qualquer
$nome = "Joao";
// Exibindo o conteudo da variavel antes de adicionar sobrenome
echo $nome;
O resultado impresso será: "Joao"
<?php
/**
* Metodo que recebe uma variavel pro referencia e adiciona
* uma string ao seu conteudo.
*
* O objetivo do metodo e adicionar o sobrenome na variavel $nome
*
* */
function adicionaSobrenome( &$nome )
{
// Adicionando sobrenome Pereira ao nome João
// que está armazenado na variável $nome
$nome .= " Pereira";
}
// Executando metodo
adicionaSobrenome( $nome );
// Exibindo o resultado
echo $nome;
O resultado impresso será: "Joao Pereira"
adicionaSobrenome( $nome );