Cita:
Iniciado por abimaelrc Puedes ingresar la función en una variable y luego llamar empty, ejemplo
Código PHP:
Ver original<?php
function foo(){
return null;
}
echo 'foo is null <br />';
}
$foo = foo();
echo 'foo se considera también empty <br />';
}
Entiendo, pero en mi caso particular parece que eso se vuelve inviable... mira, copio mi función ek_objetos($instrucciones = null), que está dentro de mi clase BaseDatos.
Código PHP:
Ver original/**
* Éste método retorna una consulta a la base de datos como un arreglo de
* objetos. Cada posición del arreglo viene de una fila en la
* tabla de la base de datos, esto representado en forma de objeto. Cada
* parámetro de ése objeto viene de una columna de la tabla.
*
* ejemplo de uso:
* $resultado = array();
* $resultado = $bd->ek_objetos("SELEC * FROM usuarios");
* echo $resultado[0]->nombre;
* echo $resultado[0]->edad;
* etc.
*
* @return <object[]> un arreglo de objetos, producto de preguntar a la
* base de datos, o false en caso de error.
*/
public function ek_objetos($instrucciones = null) {
// Si es que no se le pasan parámetros (instrucciones a ejecutar en la
// base de datos), se hace lo sigueinte:
// En caso de que exista una respuesta previa, se retorna.
return $this->respuesta;
// Caso contrario se ejecutan las instrucciones que están
// registradas. En caso de que haya un error (como que no existan
// tales instrucciones), se retorna falso.
} elseif (!$this->agar_instrucciones()) {
return false;
}
// En el caso de que sí se hayan pasado parámetros:
} else {
// Se registran.
$this->en_instrucciones($instrucciones);
// Y se ejecutan (para registrar respuesta). En caso de que exista
// error, se retorna falso.
if (!$this->agar_instrucciones()) {
return false;
}
}
// Variable desde la cual se retornará el arreglo de objetos.
// Ciclo que en cada vuelta extrae una fila de la base de datos y la
// transforma en un objeto para luego asignarlo al arreglo $objetos.
$objetos[] = $fila;
}
// retornar el arreglo de objetos.
return $objetos;
}
El método agar_instrucciones() era el ejecutar_instrucciones() (es lo mismo). Este método es el encargado de hacer la consulta mysql, por lo que lo trato de evitar lo más posible. En ese caso si es que hiciera is_null($this->agar_instrucciones()) significaría que tendría que evauarlo, aún cuando es innecesario.