0 レビュー
1 回答
php-イテレータを配列に変換せずに並べ替えることはできますか?
Iterator
インターフェイスを実装するオブジェクト$iterator
があり、内部のすべてのアイテムを並べ替えたいと思います。
classMyIteratorはIteratorを実装します
{{
パブリック関数current(){
rand(0,10);を返します。
}
}
$iterator = new My Iterator();
uasort($iterator、function($ a、$ b){
});
残念ながら: uasort()
とArrayIterator :: uasort()
は配列に対してのみ機能し、必要になる場合があります iterator_to_array()
編集:Doctrineクエリビルダーのイテレーションを例として使用しないでください。
わからない
0
レビュー
答え :
解決策:
できません。最初に配列に変換する必要がありました。
public function sort(iterable $iterator, $expression) {
if (is_array($iterator)===false) {
$iterator = iterator_to_array($iterator);
}
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。