2

私はzendpaginatorを使用しています。$ this-> paginatorを使用して、次の構造を取得しています。



(
   [_cacheEnabled:protected] => 1
    [_adapter:protected] => Zend_Paginator_Adapter_Array Object
        (
            [_array:protected] => Array
                (
                    [0] => Array
                        (
                        )
                    [1] => Array
                         (
                         )
                           )

            [_count:protected] => 8
        )

    [_currentItemCount:protected] => 
    [_currentItems:protected] => 
    [_currentPageNumber:protected] => 1
    [_filter:protected] => 
    [_itemCountPerPage:protected] => 4
    [_pageCount:protected] => 2
    [_pageRange:protected] => 
    [_pages:protected] => 
    [_view:protected] => 
)


forループを使用して$this->paginatorにアクセスしましたが、すべて正常に機能しています。しかし、今は[_array:protected] =>配列値のみにアクセスし、array_sliceを使用して結果を3セットに分割したいと思います。しかし、その配列値にアクセスすることはできません。配列に型キャストしてみましたが、取得できませんでした。

4

1 に答える 1

6

実際、このZend_Paginator_Adapter_Arrayクラスにはまさにそれを行うメソッドがあります:コンテナgetItems()をスライスします。_array

したがって、結果セットの最初の 3 分の 1 が必要な場合は、次のようにします。

$adapter = $paginator->getAdapter();
$results = $adapter->getItems(0, $adapter->count() / 3);
于 2012-08-13T10:17:33.350 に答える