[英]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.