Menú

lunes, 26 de agosto de 2024

G11 - ¿Qué es el Paso de Valores en PHP para Funciones?

En PHP, cuando llamas a una función, puedes pasarle datos, conocidos como argumentos o parámetros, para que la función los utilice. El paso de valores se refiere a cómo se transfieren estos datos a la función.

Existen dos formas principales de pasar valores a una función en PHP:

  1. Paso por valor: El valor de una variable se copia en el parámetro de la función. Cualquier cambio realizado en el parámetro dentro de la función no afecta la variable original.
  2. Paso por referencia: Se pasa una referencia (similar a un "enlace") a la variable original. Cualquier cambio realizado en el parámetro dentro de la función también afectará la variable original.

Ejemplos

Ejemplo 1: Paso por Valor

<?php function incrementar($numero) { $numero += 1; echo "Dentro de la función: $numero<br>"; } $miNumero = 5; incrementar($miNumero); echo "Fuera de la función: $miNumero"; ?>

Salida:

Dentro de la función: 6 Fuera de la función: 5

Explicación: En este ejemplo, el valor de $miNumero se pasa a la función incrementar por valor. Esto significa que dentro de la función, $numero es una copia de $miNumero. Cuando se incrementa $numero, la variable original $miNumero fuera de la función no se ve afectada.

Ejemplo 2: Paso por Referencia

<?php function incrementarReferencia(&$numero) { $numero += 1; echo "Dentro de la función: $numero<br>"; } $miNumero = 5; incrementarReferencia($miNumero); echo "Fuera de la función: $miNumero"; ?>

Salida:

Dentro de la función: 6 Fuera de la función: 6

Explicación: En este ejemplo, el valor de $miNumero se pasa a la función incrementarReferencia por referencia, usando el símbolo &.  <Esto significa que cualquier cambio que se haga a $numero dentro de la función también afectará la variable $miNumero fuera de la función.

Actividad

Tarea: Crea una función en PHP que reciba dos números, uno por valor y otro por referencia. La función debe incrementar ambos números en 10. Luego, imprime los valores dentro de la función y fuera de ella.

Pregunta para Reflexión: ¿Qué observas en los valores de las variables fuera de la función después de la ejecución? ¿Cómo afecta el paso por referencia el resultado final en comparación con el paso por valor?

Este ejercicio te ayudará a comprender mejor cómo funciona el paso de valores y referencias en PHP, y te permitirá ver cómo elegir una u otra opción puede afectar los datos en tu programa.