Todos mis funciones que tienen varios parámetros y que deben devolver más de uno de esos valores devuelvo un array
así ...¿Pasa por referencia o matriz de retorno en PHP?
function eg($a, $b) {
$a += 5;
$b += 10;
return array('a' => $a, 'b' => $b);
}
$no = eg(0, 5);
echo $no['a']; // 5
echo $no['b']; // 10
¿Esto se considera una mala práctica en comparación con pasar por el, valor de referencia;
function eg(&$a, &$b) {
$a += 5;
$b += 10;
}
eg(0, 5);
echo $a; // 5
echo $b; // 10
¿Esto realmente importa? ¿Cuándo querría usar uno sobre el otro cuando utilice los ejemplos anteriores? ¿Hay alguna diferencia en el rendimiento?
Gracias
Como esta es la opinión, esta pregunta probablemente no es perfecta para este foro, pero personalmente diría que su ejemplo anterior es probablemente más limpio y hecho mejor que pasar por referencia, que es un poco flojo y si su código está bien encapsulado , hace que sea difícil ver al leer por qué sus valores $ a y $ b son repentinamente diferentes. Creo que tu primer ejemplo, personalmente, es el camino a seguir. – DaOgre
Disculpa por la pregunta que me hizo otro miembro de otra pregunta. Gracias por tu comentario. Solo me pregunto si cambiar mi código o no en función de si es buena o mala práctica hacerlo. Pero entiendo que es más fácil entender el primer ejemplo. – cgwebprojects
Sin respuesta afirmativa o negativa, acepto que el primer ejemplo es más claro, y su compañero de trabajo le agradecerá esa claridad. – Wrikken