Categorías: Tutoriales

Paso por valor y paso por referencia con PHP

Si el otro día hablábamos de la facilidad de usar índices negativos en arrays a través PHP, hoy traemos otra receta para cocinar el paso por valor y el paso por referencia, algo que en algunos lenguajes, como C, es de vital importancia, y que en el caso de PHP nos puede servir de gran ayuda.

Para ilustrar claramente la diferencia entre paso por valor y paso por referencia en una función en PHP, vamos a usar un pequeño script. Prestemos especial atención a las llamadas sumarPorValor() y sumarPorReferencia(), que de entrada vemos como la definición de ambas es similar.

<?php

// Declaramos las funciones

function sumarPorValor($suma, $a, $b) {
  $suma = $a + $b
}

function sumarPorReferencia(&$suma, $a, $b) {
  $suma = $a + $b
}

// Realizamos las llamadas

$a = 3;
$b = 2;
$suma = 0;
echo $suma . "\n";

sumarPorValor($suma, $a, $b); 
echo $suma . "\n";

sumarPorReferencia($suma, $a, $b);
echo $suma . "\n";

Y la salida que obtenemos:

0
0
5

Está claro, ¿no? Lo único que debemos de hacer es usar et (Ampersand) en la declaración de la función sobre la variable que deseamos que trabaje por referencia. En C, por ejemplo, hemos de modificar también la llamada, ya que lo trabajamos con direcciones de memoria y apuntadores sobre la función.

Espero que os haya sido de ayuda.

Alberto Hornero Luque

Contínuamente relacionado con el procesamiento de imágenes y el análisis numérico, se encuentra actualmente trabajando como Ingeniero Técnico en el laboratorio de Métodos Cuantitativos de Teledetección del CSIC. Administrador del portal Linux Hispano centra sus intereses en tecnologías abiertas, desarrollos en la nube y GNU/Linux, y hace poco fundó junto a Javier Carazo una startup, Codection. Puedes seguir sus updates en @ahornero y LinkedIn.

Ver comentarios

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace