3

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;
}

Avar_dump($items);はこれを返します:

["180"]=>
    object(stdClass)#203 (1) {
      ["status"]=>
      string(130) "I was checking Microsoft's Visual Studio page just no…"
    }
4

2 に答える 2

13

属性には順序がないため、オブジェクトをソートすることはできません。

ただし、オブジェクトの配列表現を並べ替えることができます。

$arr = (array)$object;

shuffle($arr);
于 2009-12-13T20:50:17.687 に答える
0

$items を配列として使用しているため$this->getItems()、配列を返すようにするかget_object_vars($items)、オブジェクトの変数の配列を取得するために使用します。

于 2009-12-14T03:58:49.593 に答える