Como posso classificar um objeto no PHP? eu tentei shuffle()
mas isso espera uma matriz:
Warning: shuffle() expects parameter 1 to be array,
object given in /var/www/index.php on line 366
Warning: Invalid argument supplied for foreach() in /var/www/index.php on line 334
Este é o meu código:
public function updateStatusWithoutDB() {
$this->updateProfileColors();
$items = $this->getItems();
$items = shuffle($items);
if($this->updateStatusArray($items))
return true;
return false;
}
UMA var_dump($items);
retorna isso:
["180"]=>
object(stdClass)#203 (1) {
["status"]=>
string(130) "I was checking Microsoft"s Visual Studio page just no…"
}
Respostas:
11 para resposta № 1Você não pode classificar um objeto, já que não há ordem nos atributos.
No entanto, você pode classificar uma representação de matriz de um objeto:
$arr = (array)$object;
shuffle($arr);
0 para resposta № 2
Como você está usando $ items como array, faça $this->getItems()
retornar uma matriz ou usar get_object_vars($items)
para obter array de vars do objeto.