Pesquisar na Comunidade
Mostrando resultados para as tags ''array objetos data''.
Encontrado 1 registro
-
E ai pessoal, tudo beleza? Sou novo no Fórum, e já tentei buscar na internet e neste fórum mas não consegui solucionar meu problema. Gostaria de ordenar os alunos por data de matricula, abaixo está meu código da classe AlunoDAO, tem um método "public function BuscarPessoaNome($Nome = "")" que gostaria que viesse ordenado por data de matrícula. Na classe aluno, tem esse método public function getDataMatricula() { return $this->DataMatricula; } Como que devo ordenar a lista que irá retornar no método por data de matricula, lembrando que atualmente grava apenas uma string, não está no formato de data; <?php namespace classes\dao; use classes\entidades\Aluno; class AlunoDAO { private $NomeSessao; private $arrAluno; public function __construct($NomeSessao) { $this->NomeSessao = $NomeSessao; if(isset($_SESSION[$this->NomeSessao])) { $this->arrAluno = $_SESSION[$this->NomeSessao];/*Se a sessão existir ele atribui ao array*/ } else { $this->arrAluno = array();/*Se a sessão não existir ele cria o array*/ } } public function __destruct() { $_SESSION[$this->NomeSessao] = $this->arrAluno; } public function IncluirAluno(Aluno $objAluno) { $BuscaCodigoAluno = count($this->arrAluno) - 1; if($BuscaCodigoAluno < 0)//verifica se já tem algum código cadastrado { $Codigo = 1; } else { $Codigo = end($this->arrAluno); $Codigo = $Codigo->getCodigo() + 1; } $objAluno->setCodigo($Codigo); $this->arrAluno[] = $objAluno; return true; } public function ExcluirAluno($codigo) { foreach ($this->arrAluno as $objAluno) { if($objAluno->getCodigo() == $codigo) { $elemento = array_search($objAluno, $this->arrAluno); unset($this->arrAluno[$elemento]); } } } public function AlterarAluno(Aluno $Aluno) { foreach ($this->arrAluno as $objAluno) { if($objAluno->getCodigo() == $Aluno->getCodigo()) { $elemento = array_search($objAluno, $this->arrAluno); $this->arrAluno[$elemento] = $Aluno; } } } public function cmp($a, $b) { if ($a->getDataMatricula() == $b->getDataMatricula()) { return 0; } return (strtotime($a->getDataMatricula()) < strtotime($b->getDataMatricula())) ? -1 : 1; } public function BuscarPessoaNome($Nome = "") { if($Nome != "") { $arrAlunoFiltrado = []; foreach ($this->arrAluno as $objAluno) { if($objAluno->getNome() == $Nome) { array_push($arrAlunoFiltrado,$objAluno); } } return ordernarArray($arrAlunoFiltrado); } else { //return usort($this->arrAluno, array($this, 'cmp')); return $this->arrAluno; } } public function ordenarArray($arrAlunoOrdenado) { $arrAlunosRetorno = array(); for($i = 1; $i < count($arrAlunoOrdenado); $i++) { if($arrAlunoOrdenado[$i-1]->getDataMatricula() < $arrAlunoOrdenado[$i]->getDataMatricula()) { array_push($arrAlunosRetorno, $arrAlunoOrdenado[$i-1]); } else { array_push($arrAlunosRetorno, $arrAlunoOrdenado[$i]); } } return $arrAlunosRetorno; } public function BuscarPessoaCodigo($Codigo = "") { foreach ($this->arrAluno as $objAluno) { if($objAluno->getCodigo() == $Codigo) { return $objAluno; } } } }