在php中的循环内创建新对象
我有一个产品ID数组,希望通过调用Product类来获取产品信息。我曾尝试将其添加到foreach循环中,但得到一个致命错误,即类Product的对象无法转换为字符串。这就是我尝试过的在php中的循环内创建新对象,php,oop,prestashop,Php,Oop,Prestashop,我有一个产品ID数组,希望通过调用Product类来获取产品信息。我曾尝试将其添加到foreach循环中,但得到一个致命错误,即类Product的对象无法转换为字符串。这就是我尝试过的 $productIDs = Db::getInstance()->executeS("SELECT id_product FROM wtop_product ORDER BY position ASC"); $products = ''; foreach($productIDs as $productID
$productIDs = Db::getInstance()->executeS("SELECT id_product FROM wtop_product ORDER BY position ASC");
$products = '';
foreach($productIDs as $productID)
{
$products .= new Product($productID['id_product'], false, '1');
}
由于这会产生错误,显然这不是处理这种情况的正确方法。我不确定的是如何将产品ID数组传递给新产品调用,并获得这些产品的输出。在数组中存储对象:
$products = array();
foreach($productIDs as $productID) {
$products[$productID['id_product']] = new Product($productID['id_product'], false, '1');
}
print_r($products);
在数组中存储对象:
$products = array();
foreach($productIDs as $productID) {
$products[$productID['id_product']] = new Product($productID['id_product'], false, '1');
}
print_r($products);
您是否应该建立对象列表?要扩展karthikr的评论,请尝试创建对象数组,而不是将它们作为字符串粘在一起。
新产品
是否应该返回字符串?如果是,那么实现一个函数您是否尝试过为类创建一个toString()方法并调用(新产品(…)->toString()
?您是否应该建立一个对象列表?要扩展karthikr的评论,请尝试$products[]=…
创建一个对象数组,而不是将它们作为字符串粘在一起。新产品是否应该返回字符串?如果是,那么实现一个函数您是否尝试过为类创建一个toString()方法并调用(新产品(…)->toString()代码>?