2014-03-26 33 views
0

我新的PHP和Kohana的。 我想知道如何在函數中調用數組。如何調用和查看陣列的功能

我有變量$產品列表,我想更多的元素添加到它的功能。

public $productlist = array(); 
public function action_index() 
{ 
    $product = new Product("Laptop","HP4897"); 
    $product2 = new Product("TV","Samsung 8773"); 


    $productlist[] = product; 
    $productlist[] = product2; 

    $this->add_product_to_array("Ebook","Everything you want to know"); 
    $this->show_productlist(); 
} 

public function add_product_to_array($product_name, $product_description) 
{ 
    $newproduct = new Product($product_name, $product_description); 
    array_push($productlist,$newproduct); 
} 
public function show_productlist(){ 
    foreach($productlist as $key => $value) 
    { 
     print_r($value->get_product_name().'</br>'); 
    } 
} 

,這是我發現了異常: * ErrorException【警告】:array_push()預計參數1爲陣,空給*

如果我加入的foreach($此 - > productlist爲$ key => $ value),它告訴我它找不到產品列表。

Product.php

class Product { 

private $_product_name; 
private $_product_description; 


function __construct($name,$description) 
{ 
    $this->_product_name = $name; 
    $this->_product_description = $description; 
} 

public function get_product_name() 
{ 
    return $this->_product_name; 
} 
//etc 
+0

難道這些功能(add_product_to_array等)一類的一部分?如果是這樣,那麼您可以在任何函數中將產品列表稱爲$ this-> productlist。如果沒有,那麼你應該考慮製作一類。 –

回答

0

PHP Classes and Objects - The Basics

類裏面,當你訪問$productlist數組,你需要使用$this->productlist。您似乎已在Product課程中瞭解這一點。發生了什麼?

+0

當我添加$這個 - > $產品列表編譯器告訴我這是不確定的.. – user3460026

+0

我以$某處在我的代碼,不屬於有失敗。感謝您指出$ this-> productlist ..我有$ this - > $ productlist。 – user3460026