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$arg = array("primero", "segundo");
function muestratodo($arg){
if(isset($arg[0])){ echo "Devuelve valor; } if(isset($arg[1])){ echo "Devuelve el segundo valor; }
if(isset($arg[2])){ echo "Da un resultado"; }else{ "Como no se le pasó ningún valor no lo tiene en cuenta";) }
}
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