Olá meus amigos e amigas tudo bem? Hoje vou ser breve. 
Se vc precisou ordernar um array de objetos pelo atributo aqui esta a solução.
Não importa se o atributo é privado ok? Vamos utilizar o usort do php que recebe como parametro o array e um callback que é nossa função capaz de ordenar esse cara.
- <?php
 - /* Funcao que ira ordenar */
 - function verificador($obj1, $obj2) {
 - if ($obj1->getOrdem() < $obj2->getOrdem()) {
 - return -1;
 - } elseif ($obj1->getOrdem() > $obj2->getOrdem()) {
 - return +1;
 - }
 - return 0;
 - }
 - /* Classe de exemplo */
 - class Pessoa{
 - private $idade;
 - private $ordem;
 - public function getIdade() {
 - return $this->idade;
 - }
 - public function setIdade($idade) {
 - $this->idade = $idade;
 - }
 - public function getOrdem() {
 - return $this->ordem;
 - }
 - public function setOrdem($ordem) {
 - $this->ordem = $ordem;
 - }
 - }
 - /* O array que vamos colocar os objetos*/
 - $array_objetos = array();
 - /* 6 objetos pessoa com atributos aleatorios */
 - for($i = 0; $i < 6; $i++):
 - $objeto = new Pessoa();
 - $objeto->setIdade(rand(20, 60));
 - $objeto->setOrdem(rand(0,30));
 - $array_objetos[] = $objeto;
 - endfor;
 - /* Mostrando o array de objetos criado */
 - echo "<h1>Array de objetos desordenados</h1><br>";
 - var_dump($array_objetos);
 - echo "<br><hr><br>";
 - /* Usando o usort */
 - usort($array_objetos, 'verificador');
 - /* Mostrando o array de objetos criado */
 - echo "<h1>Array de objetos ORDENADOS pelo atributo ordem</h1><br>";
 - var_dump($array_objetos);
 - echo "<br><hr><br>";
 - ?>
 
Bem, espero ter ajudado... hehehe
Cara eu precisando disso urgentemente e vejo seu post AGORA! Deus realmente existe! Valeuuu
ResponderExcluirMuito obrigado! Me economizou um baita tempo.
ResponderExcluirMUITO bom!
ResponderExcluirobrigado!
ResponderExcluir