我工作Opencart的,並添加這樣的代碼到控制器來顯示所有的廠商用戶:將新的索引分配給數組會導致新的數組創建?
$this->load->model("catalog/manufacturer");
$manufacturers = $this->model_catalog_manufacturer->getManufacturers();
$allbrands = array();
foreach ($manufacturers as $brand)
{
$brand["url"] = $this->url->link("product/manufacturer/product&manufacturer_id=".(string) $brand["manufacturer_id"],"","SSL");
$allbrands[] = $brand;
}
$this->data["manufacturers"] = $allbrands;
它工作得很好,但我以前的代碼沒有工作,這是下面:
$this->load->model("catalog/manufacturer");
$manufacturers = $this->model_catalog_manufacturer->getManufacturers();
$allbrands = array();
foreach ($manufacturers as $brand)
{
$brand["url"] = $this->url->link("product/manufacturer/product&manufacturer_id=".(string) $brand["manufacturer_id"],"","SSL");
}
$this->data["manufacturers"] = $manufactures;
我在想的是陣列是對象,所以他們被指向引用,所以如果我改變$brand
變量,那麼$manufacturers
也將有數組作爲索引但"url"
但沒有工作,PHP抱怨說它沒有任何"url"
索引。
爲數組賦予一個新的索引會導致它被堆中的新對象重新創建,或者它將當前對象的位置擴展到堆中?
任何想法,它會發生什麼?
真棒回答很棒。 Thnaks。 – Tarik 2011-12-31 20:08:14