PHP – Parâmetros por referência
Julho 30, 2009
No php vc pode modificar aos valores dos parâmetros passados usando “&” na frente da variavel
Exemplo simples
echo $valor = “teste #data foi efetuado a alteração<br/>”;
addChar($valor);
echo $valor;
function addChar(&$novaStr){
$novaStr = str_ireplace(“#data”, “__/__/____”, $novaStr);
}
Caso não seja usado o modificador, seria implementado assim:
echo $valor = “teste #data foi efetuado a alteração<br/>”;
$valor = addChar2($valor);
echo $valor;
function addChar2($novaStr){
return str_ireplace(“#data”, “__/__/____”, $novaStr);
}
ARRAY
Usar este modificador em foreach pode ser bem útil
$alunos = array(array(“nome” => “Andi Gutmans”, “notaFinal” => 8.7),
array(“nome” => “Felipe Fischer”, “notaFinal” => 7.5),
array(“nome” => “Thiago Prates”, “notaFinal” => 5.5));foreach($alunos as &$aluno){
if($aluno['notaFinal'] >= 7)
$aluno['status'] = “Aprovado”;
else
$aluno['status'] = “Reprovado”;
}print_r($alunos);
Extra:
#Operador de atribuição por pré-referência
$nome = “Johny”;
$nomeApelido =& $nome; //ao mudar o valor da variavel nomeApelido valor é alterado na $nome
$nomeApelido .= ” legal”;
echo $nome;