*   >> Lectura Educación Artículos >> tech >> diseño web

Php - Pasar por referencia, A Different Approach

Así que antes de que acabamos de saltar a referencias pasajeras a las funciones, permite revisar el enfoque mucho más común, sólo para proporcionar un repaso rápido para aquellos que están fuera de la práctica, o, los que son ahora expandirse hacia los reinos de funciones

Una función encontrada en php se ve más a menudo como uno de los dos ejemplos siguientes:.


 //no returnfunction sayHi () {echo "Hola mi, conocer el verdadero yo ';!} sayHi (); //Salidas nuestro texto 

Esta es una función que va a hacer algo como texto de salida a la pantalla, o lanzar un error, o cualquier otra cosa que usted quiere que haga.

 //returnfunction growOld ($ edad ) {$ edad = $ edad + 1; devolver $ edad;} $ miEdad = 21; $ miEdad = growOld ($ miEdad); echo $ miEdad; //22 

Podemos ver que esta función toma una variable, presumiblemente una edad, e incrementa por uno, antes de volver el nuevo valor para el usuario.

Un poco inútil, pero ilustra nuestro punto.

Ahora, fíjense en el segundo ejemplo tenemos un parámetro de la función de $ edad. Cuando esta función se llama, se le acaba enviando un valor a la misma, si es el valor actual de una variable, o bien, sólo un número, como '15'. Esto se llama "paso por valor", y es el tipo de función más común, con diferencia.

Ahora, lo que si queremos realizar algunas acciones en nuestra variable real, no sólo su valor actual? Para pensar en él de una manera diferente, lo que si queremos cambiar lo que está en nuestro propio recipiente, en vez de una copia de la misma? Considere el siguiente ejemplo

 //agregar un número a nuestra arrayfunction addAFive ($ array) {$ array [] = 5;}. $ MyArray = array ('1', '2', '3', '4'); addAFive ($ myArray); print_r ($ myArray); //¿Cuál es la salida? 

La respuesta puede no ser lo que usted piensa.

Ya que sólo pasamos una copia de nuestro $ myArray a la función, sólo la copia se le dio un '5'. La matriz original todavía sólo contiene el 1,2,3 números y 4. Por lo tanto, la pregunta es, ¿cómo nos envía nuestro artículo, en la función en lugar de una copia? La respuesta es un simple '&'. Así es, el humilde signo.

Si prologamos nuestro nombre de la variable en la lista de parámetros de nuestra función con esto, entonces la función sabrá para operar en el artículo pasado real, no una copia de ella! Es genial, échale un vistazo:

 //agregar un nombre a nuestra addAName arrayfunction (& $ array) //cuenta lo anterior $ array 'y' {$ array [] = 'Ja

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.