Problema con arreglo y clase en php
Publicado por MATIAS (9 intervenciones) el 14/07/2006 21:12:09
Estoy trabajando con una clase en un archivo escrito en php y tenia un par de problemas.
Considero que va a ser más facil describir mi problema que mostrarles el codigo asiqu les cuento:
Tengo una clase que se llama "subsec"
class subsec
{
var...
function metodo1()
{
...
}
.....
}
luego tengo un arreglo "$sl" y cada miembro de este, es una instancia de subsec.
Al instanciarlo, no encontré otra forma que instanciar miembro por miembro con un "for", de la siguiente manera:
for($i ; $i<50; $i++)
$sl[$i]=new subsec;
estoy seguro que debe haber alguna otra forma mas ortodoxa, pero no la encontre.
este for esta adentro de un gran bloque "if"
Mi problema es que fuera de este bloque "if" no puedo usar el array $sl
por ejemplo si escribo la siguiente sentencia fuera del bloque if,
$sl[0] -> metodo1();
me sale el error: Call to a member function on a non-object in....
Si ubico esta sentencia dentro del bloque if, no me sale ningun error.
Es decir que es como que lo considera global con respecto al bloque if
¿Cómo podría hacer para poder seguir usando el arreglo de forma global?
Considero que va a ser más facil describir mi problema que mostrarles el codigo asiqu les cuento:
Tengo una clase que se llama "subsec"
class subsec
{
var...
function metodo1()
{
...
}
.....
}
luego tengo un arreglo "$sl" y cada miembro de este, es una instancia de subsec.
Al instanciarlo, no encontré otra forma que instanciar miembro por miembro con un "for", de la siguiente manera:
for($i ; $i<50; $i++)
$sl[$i]=new subsec;
estoy seguro que debe haber alguna otra forma mas ortodoxa, pero no la encontre.
este for esta adentro de un gran bloque "if"
Mi problema es que fuera de este bloque "if" no puedo usar el array $sl
por ejemplo si escribo la siguiente sentencia fuera del bloque if,
$sl[0] -> metodo1();
me sale el error: Call to a member function on a non-object in....
Si ubico esta sentencia dentro del bloque if, no me sale ningun error.
Es decir que es como que lo considera global con respecto al bloque if
¿Cómo podría hacer para poder seguir usando el arreglo de forma global?
Valora esta pregunta


0