我工作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