Hola amigos, tengo un problema que no sé como solucionar.
Llevo horas dándole vueltas pero no tiene ningún sentido.
Resulta que tengo una clase Mensaje.php que tiene dos métodos:
obtener_mensajes_enviados y
obtener_mensajes_recibidos
que hacen consultas a la base de datos y devuelven arrays con objetos mensaje
Tengo además otro método
obtener_mensajes_enviados que hace dos llamadas a los otros métodos así:
$arr_rec=$this->obtener_mensajes_recibidos(); $arr_env=$this->obtener_mensajes_enviados();
Si yo hago
Código PHP:
public function obtener_mensajes(){
require_once 'models/UsuarioModel.php';
session_start();
$usuario=$_SESSION['usuario'];
$id_usuario=$_SESSION['usuario']->get_id();
$arr_rec=Array();
$arr_env=Array();
$arr_rec=$this->obtener_mensajes_recibidos();
echo '<br />';
print_r($arr_rec);
echo '<br />';
echo '<br />';
$arr_env=$this->obtener_mensajes_enviados();
print_r($arr_env);
}
me lo imprime bien, pero si hago:
Código PHP:
public function obtener_mensajes(){
require_once 'models/UsuarioModel.php';
session_start();
$usuario=$_SESSION['usuario'];
$id_usuario=$_SESSION['usuario']->get_id();
$arr_rec=Array();
$arr_env=Array();
$arr_rec=$this->obtener_mensajes_recibidos();
echo '<br />';
$arr_env=$this->obtener_mensajes_enviados();
print_r($arr_rec);
echo '<br />';
echo '<br />';
print_r($arr_env);
}
imprime lo mismo (lo que devielve el segundo método) en ambos arrays (nótese la diferencia de que ahora se imprime
despues de
$arr_env=$this->obtener_mensajes_enviados();
Es como si el segundo método sobreescribiera la referencia a los objetos contenidos en ese array o algo asi
Nunca me había pasado en PHP algo parecido, alguien tiene alguna idea de que puede ser??
Muchas gracias