Dos consejos para agilizar la escritura de código PHP (y su rendimiento)

Modificar valores de un array en un bucle foreach

Algo sumamente sencillo, que puede hacerse a partir de PHP 5, es modificar los valores de un array pasándolos como referencia. De esta forma se evitan grandes bloques de código y se agiliza el rendimiento.

$nombres = array('JUAN', 'José', 'ANA', 'Margarita', 'Lautaro', 'Emilia');

foreach($nombres as &$nombre) {
  $nombre = strtolower($nombre);
}

print_r($nombres);

/* Salida:
Array
(
  [0] => juan
  [1] => josé
  [2] => ana
  [3] => margarita
  [4] => lautaro
  [5] => emilia
)
*/

Modificar variables globales evitando el uso de global y $GLOBALS

Utilizar el paso de variables por referencia nos ayuda también a modificar variables globales, evitando tener que declararlas como globales (global) dentro de un método o función, o recorriendo el array $GLOBALS.

Esta «técnica» puede utilizarse tanto en funciones como en métodos de clase, ¿cómo? Veamos los siguientes ejemplos:

$variable_global = 'Contenido de mi variable global';

function modificar_variable_global(&$variable) {
  $variable = 'Variable global modificada';
}

modificar_variable_global($variable_global);
print $variable_global; // salida:  Variable global modificada

Tambien podemos usarlo como método de una clase:

$variable_global = 'Contenido de mi variable global';

class MiClase {
  //...

  function modificar_variable_global(&$variable) {
    $variable = 'Variable global modificada desde un método de clase';
  }

  //...
}

$obj = new MiClase();
$obj->modificar_variable_global($variable_global);
print $variable_global;
// salida:  Variable global modificada desde un método de clase