Как я могу отсортировать объект в PHP? Я попробовал shuffle()
но ожидает массив:
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
Это мой код:
public function updateStatusWithoutDB() { $this->updateProfileColors(); $items = $this->getItems(); $items = shuffle($items); if($this->updateStatusArray($items)) return true; return false; }
var_dump($items);
возвращает это:
["180"]=> object(stdClass)#203 (1) { ["status"]=> string(130) "I was checking Microsoft's Visual Studio page just no…" }
Вы не можете сортировать объект, поскольку в атрибутах нет порядка.
Однако вы можете отсортировать представление массива объекта:
$arr = (array)$object; shuffle($arr);
Поскольку вы используете $ items в качестве массива, либо make $this->getItems()
возвращает массив, либо используйте get_object_vars($items)
для получения массива объектов.