Não é isso maravilhoso? Assim, adicionando o nome comercial para a variável, a função agora sabe a trabalhar na variável real em vez de uma cópia que vai ser descartado no fim do ciclo de vida da função. Obviamente, este exemplo é puramente isso - um exemplo, não muito útil, mas, se você estiver executando várias ações em um único item (particularmente um array) é muito mais fácil, e mais limpo, para passar o item como o item real > Uma advertência, porém, não tente passar uma referência para uma função que não está esperando por isso, uma vez que irá produzir um 'pass tempo de chamada por referência "erro: O problema aqui (alerta lerdo) é que o & realmente significa dar-me o "endereço" de uma variável para manipular. Então, quando nós o chamamos de maneira correta (função func (& $ var) {}), a função sabe que está indo para obter um endereço na memória, e sabe manipular o objeto naquele local. Se tentarmos usar o E comercial ao chamar uma função, a maneira incorreta (func (& $ myVar);), estamos passando o endereço de memória real da variável para a função, que está esperando uma matriz, não um endereço de memória! Assim, embora um pouco confuso, é muito bacana e uma habilidade muito útil para ter com o seu cinto de programação! Isso é tudo por agora! //este é não allowedfunction someUnsuspectingFunction ($ array) //este espera uma cópia {$ array [] = '5';} $ myArray = array ('1', '2', '3', '4'); someUnsuspectingFunction (& $ myArray); //Isto irá lançar uma exceptionprint_r ($ myArray);
Web Design erros os mais grandes