簡體   English   中英

兩次遍歷對象-php

[英]looping through an object twice - php

我正在嘗試使用zencart,以使其達到我想要的效果,但是我對Google的想法已無所用。

當我使用zencart函數查詢數據庫時,軟件將返回一個類似於以下內容的對象:

queryFactoryResult Object
(
[is_cached] => 
[resource] => Resource id #117
[cursor] => 11
[EOF] => 
[fields] => Array
    (
        [products_id] => 5582
        [products_description] => description here
        [products_name] => Lucky magnet – Each petal...
        [products_type] => 1
        [products_quantity] => 0
        [products_image] => EachPetalMag.jpg
        [products_price] => 3.4000
        [products_status] => 1
        [products_ordered] => 14
        [master_categories_id] => 21
        [supplier_id] => 7
    )
)

在執行其他任何操作之前,我必須循環瀏覽一次以計算有多少master_categories:

while (!$products->EOF) {
  $products_count++;
  $supcats[$products->fields['master_categories_id']] = $products->fields['master_categories_id'];
  $products->MoveNext();
}

然后,我需要使用上面的while循環再次遍歷對象,我嘗試過:

reset($products); 

$products->EOF = FALSE;

但它們不起作用。 有沒有一種方法可以不必再次發送查詢?

Zen Cart queryFactoryResult上的常規類似於數組的操作將無法正常工作,因為它不是數組,因此將無法正常工作:

reset($products);

要再次遍歷變量,請使用queryFactoryResult-> Move(row_number)方法:

$products->Move(0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM