2014-03-26 2 views
0

저는 PHP와 Kohana를 처음 사용합니다. 함수에서 배열을 호출하는 방법을 알고 싶습니다.함수의 배열 호출 및보기

변수 $ productlist를 (를) 가지고 있는데 더 많은 요소를 함수에 추가하고 싶습니다.

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 어레이 널 주어진 *

I가 추가 해요 경우의 foreach 것으로 예상 ($이 -> productlist as $ key => $ value), 제품 목록을 찾을 수 없다고 알려줍니다. 클래스 내부

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

Product.php 당신은 $this->productlist를 사용하여 필요한 $productlist 배열에 액세스 할 때. Product 클래스에서 이것을 알았던 것 같습니다. 어떻게 된 거예요?

+0

$ this-> $ productlist를 추가하면 컴파일러에서 정의되지 않았 음을 알립니다. – user3460026

+0

코드에 속하지 않은 코드의 $ 어딘가에서 실패했습니다. $ this-> productlist를 지적 해 주셔서 고맙습니다. $ this-> $ productlist를 받았습니다. – user3460026