2

私はstackoverflowで同様の質問を100万件見てきましたが、オブジェクトの実際のインデックス値の並べ替えを扱っているものはありません。

値 ($vid) を指定してソートする標準オブジェクトがあり、それ自体が段階的に入力されるのではありません。

foreach ($array_videos as $v) {
            $govideo = $this->staff_model->get_video($v->vid);
            $goforit[$v->vid] = $vimeo->call('vimeo.videos.getInfo', array('video_id' => $govideo->video_id));
}

これを行うと、次の出力が表示されます。

[33] => stdClass Object ...
[12] => stdClass Object ...
[55] => stdClass Object ...
[61] => stdClass Object ...

このオブジェクトの配列をオブジェクト インデックス、ASC または DESC で並べ替えたいと思います。例えば:

[61] => stdClass Object ...
[55] => stdClass Object ...
[33] => stdClass Object ...
[12] => stdClass Object ...

ksort といくつかのさまざまな usort 関数を試しました。これについて頭を包むことはできないようです。

どんな助けでも大歓迎です。

4

1 に答える 1

4

ksort()はトリックを行います:

ksort($array_videos);

ksort は の配列キーをソートしますASCarray_reverse()を使用して、順序をすばやく逆にすることができます。

$array_videos = array_reverse($array_videos);

実際の例では、次のいずれかを実行できます。

foreach (ksort($array_videos) as $v)

また

foreach (array_reverse(ksort($array_videos)) as $v)

さらに良い!! JimDESCの推奨に従って ソートを逆にするには、 krsort()を使用できます。

ksort($array_videos); //ASC
krsort($array_videos); //DESC
于 2013-01-16T03:13:27.170 に答える