*   >> Leitura Educação Artigos >> tech >> Designer de Web

Php - Passar por referência, um Approach

; addAName ($ myArray); print_r ($ myArray); //Jake é agora parte do clube!

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:

 //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); 

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!


Page   <<  [1] [2] 
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.