Muszę przekazać wartości z jednej funkcji innej ..

Napisałem taką pierwszą funkcję.

function test1(){
        $product_details[] = array(
            'product_id' => '1',
            'count'      => '2'
        );
        $this->test2($product_details);
}    

Napisałem taką drugą funkcję. Muszę zachować ten $ _post.

function test2(){
        $product_details = $_POST['product_details'];
        foreach($product_details as $row){
            $this->db->insert('table',$row);
        }
}

Nawet nie drukuje opublikowanego wyniku również .. dziękuję z góry .. :)

-2
Dinesh Sahu 29 lipiec 2020, 19:50

1 odpowiedź

Najlepsza odpowiedź

Jeśli chcesz przejść dane z Test1 do Test2, który wygląda jak w Test1

function test1()
{
    $product_details[] = array(
        'product_id' => '1',
        'count'      => '2'
    );
    $this->test2($product_details); # here you are trying to pass the $product_details to test2
}    

Podpis Test2 musi odzwierciedlać to:

function test2(array $product_details) # this is the function signature
{
    $product_details = $_POST['product_details']; # this line would currently override your $product_details even if you passed them from test1
    $product_details[] = $_POST['product_details']; # maybe this is what you meant?
    foreach($product_details as $row){
        $this->db->insert('table',$row); # I imagine you tried echo $row or var_dump($row) here before?
    }
}
0
j4g0 29 lipiec 2020, 17:20