Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/11/2003, 08:05
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Bueno, lo que yo haria seria una de estas 2 cosas:

- Pasar los parametros en un array asociativo nombre/valor:
Código PHP:
function ($param=array()) {
  
$valores=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); // los valores por defecto de los parametros
  
foreach ($param as $clave => $valor) {
    
$valores[$clave]=$valor;
  }
  
// y luego usamos ese array para los parametros
  
echo $valores['a'];
  
// o hacemos un extract() para tenerlos como variables
  
extract($valores);
  
$calculo=$a*$b-$c;
  echo 
$calculo;
}

(array('c'=>55,'a'=>2)); 
Por supuesto, se puede añadir la comprobacion de que los indices de $param existen en el array $valores.

- O en caso de existir un valor 'no valido' para el parametro (por ejemplo 0 o ''), pasar ese valor para los que no quieres pasar que estan entre otros que quieres pasar:
Código PHP:
function f($a=1,$b=2,$c=3,$d=4,$e=5) {
  if (
''==$a$a=1;
  if (
''==$b$b=2;
  if (
''==$c$c=3;
  if (
''==$d$d=4;
  if (
''==$e$e=5;

  
$calculo=$a*$b-$c;
  echo 
$calculo;
}

f('',33,'',44); 
La "pega" es que tienes que modificar el cuerpo de la funcion.

Saludos.

PD: El codigo lo he puesto segun salia de mi cabeza. Puede que haya otras formas.

PD2: Quizas haya mas info en http://www.php.net/manual/en/function.func-get-args.php
__________________
Josemi

Aprendiz de mucho, maestro de poco.