Ver Mensaje Individual
  #9 (permalink)  
Antiguo 17/06/2012, 13:39
Avatar de Jask
Jask
 
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Problema con Notice: Undefined offset

MM lo intentaré jeje

Veamos, tengo una función a la cual le paso X nº de parámetros, algunos opcionales y otros obligatorios. Si yo quiero que cuando no paso nada a los opcionales no los tenga en cuenta.. como podría hacer?

los dos primeros argumentos (a continuación) son obligatorios) el tercero no
Código PHP:
Ver original
  1. $arg = array("primero", "segundo");
  2.  
  3. function muestratodo($arg){
  4.  if(isset($arg[0])){ echo "Devuelve valor; }
  5. if(isset($arg[1])){ echo "Devuelve el segundo valor; }
  6.  if(isset($arg[2])){ echo "Da un resultado"; }else{ "Como no se le pasó ningún valor no lo tiene en cuenta";)
  7. }
  8. }
En este caso estaría esperando el 3º parámetro para dar una u otra opción. Como en el array "existe" ese tercero y al no pasárselo devuelve el Notice. Si pruebo a poner el if del 3º parámetro con un !empty también me da el error. El problema no es comprobar si tiene contenido o no ese parámetro si no que el array diga bueno no me pasa ese valor pues no compruebo nada del 3º parámetro y me olvido, pero no, como está definido intrínsecamente el maldito array debe comprobarlo xD

No sé si quedó muy claro, si no pues me gustaría saber otra manera de pasar valores a una función en la cual unos sean obligatorios y otros opcionales. Con strings es fácil porque defines 2 o 3 y si no se define uno no pasa nada, se comprueba con una IF y listo, pero con un array (en el caso de que le quieras pasar X números de valores) parece que ya los define por lo que obligatoriamente le tienes que pasar un valor, ya sea un string, un int o nada ("")

Se entiende un poco mejor?

Gracias
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?