← PHP

[php] Alguma funcao que ordene um vector de objectos?

Lida 2162 vezes

Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Viva,

Tenho por exemplo a classe

Código: [Seleccione]
class aluno{
var nome;
var idade;
function aluno($nome, $idade){ $this->nome = $nome; $this->idade = $idade; }
}

Faco um vector de objectos alunos ... e gostava de ordenar esse vector pelo campo ->idade

Fiz esta funcao... mas haverá alguma que faça isso? tipo o asort...
Código: [Seleccione]
function sortVar($data,$var) {
for ($i = count($data) - 1; $i >= 0; $i--) {
$flag = false;
for ($j = 0; $j < $i; $j++) {
if ( $data[$j]->$var < $data[$j + 1]->$var ) {
$tmp = $data[$j];
$data[$j] = $data[$j + 1];
$data[$j + 1] = $tmp;
$flag = true;
}
}
if (!$flag ) {
return $data;
}
}
}
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Coloca uma amostra da array onde estás a ir buscar os dados, é que muito sinceramente não me está a apetecer meter-me a imagina-la olhando apenas para o código que colocaste  :)

Mete
Código: [Seleccione]
echo '<pre>'; print_r($data); echo '</pre>'; dentro da função sortVar() e coloca aqui o resultado.