PHP - Array vacío como argumento.

 
Vista:

Array vacío como argumento.

Publicado por teenspirits (19 intervenciones) el 24/01/2006 01:49:59
Lo voy a poner en modo esquemático para no enrrollar la cosa demasiado:

-Defino la siguiente clase: Miclase
{}

-entonces defino dos arrays: $Array_1=array();
$Array_2=array();

-el $Array_1 lo lleno con objetos del tipo Miclase: array_push($Array_1,new(Miclase(Parametros));
y el $Array_2 lo dejo vacío.

-y defino la siguiente función: function Mifunción ($Array_lleno,$Array_vacío)
{}

-como es de imaginar en el programa principal la llamaría con estos argumentos: Mifunción($Array_1,$Array_2);

y la pregunta es. ¿puedo enviar un array vacío como argumento de una función?

yo he estado haciendo un programa más o menos parecido a este y no sé pq el array vacío no me lo reconocía como array dentro de la función. Al hacer por ejemplo un Array_pop($Array_vacío) me da un error en donde me dice algo así como que el argumento de Array_pop debe ser de tipo array.

Salu2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Array vacío como argumento.

Publicado por Mike79 (669 intervenciones) el 24/01/2006 16:57:32
"Una variable puede ser evaluada con valores diferentes en ciertas situaciones, dependiendo del tipo que posee en cada momento, esto se debe a que el tipo de variable se toma en tiempo de compilación" * (yo entiendo que es la compilación interna que hace php antes de ejecutar una linea).

* Segun la ayuda de php en www.php.net

Así que yo te recomiendo que si tienes problemas en "ciertas" situaciones, entonces forces el tipo de dato, en este caso php le llama "Moldeamiento de Tipos" y puedes encontrar la ayuda al respecto en:

http://www.php.net/manual/es/language.types.type-juggling.php#language.types.typecasting

Basicamente es como C, donde antepones el tipo de dato, por ejemplo:

$copia = (array) $Arreglo;

Supongo que lo podrias utilizar en una funcion por ejemplo:

function MiFuncion ( (array) $Arreglo1, (array) $Arreglo2) {
....

Pruebalo, y si sigues teniendo problemas, no dudes en preguntar.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar