如何在同一个类-Codeigniter的另一个函数中使用函数的变量

时间:2015-11-13 09:07:25

标签: php codeigniter

我想将$Id的值firstFunction分配给$temp中的变量secondFunction

public function firstFunction()
{
    $Id = $_POST['quizID_click'];
}


public function secondFunction()
{
    $temp = ------;
}

请告诉我如何访问$Id

中的secondFunction

5 个答案:

答案 0 :(得分:2)

要扩展我的评论,你可以创建你的变量作为你的类的属性..它已经有一段时间了,因为使用CI所以原谅我,类虽然是类:)

class whatever
{
    public $id;

    public function firstFunction($postData)
    {
         $this->id = $postData['quizID_click'];
    }

    public function secondFunction()
    {
        $temp = $this->id;
    }
}

希望能让你前进

答案 1 :(得分:1)

函数创建本地变量,这些变量在函数完成时被销毁。要维护所需的变量,您必须从函数返回它,然后将其分配给变量。

我可以看到你正在使用类,所以你需要像方法一样访问函数。这应该有效:

public function firstFunction()
{
    $Id = $_POST['quizID_click'];
    return $Id;
}


public function secondFunction()
{
    $temp = $this->firstFunction();
}

答案 2 :(得分:1)

如果我理解正确你想在Controller函数中只传递一个变量,你可以通过抛出这样的flash来实现:

    public function firstFunction()
    {
        $this->load->library('session');
        $Id = $_POST['quizID_click'];
        $this->session->set_flashdata('item', $Id);
    }


    public function secondFunction()
    {
        $myVar = $this->session->flashdata('item');
    }

基本上你临时将变量值保存为flashdata,赋予它'item''item'可以是任何东西。然后第二个控制器查找此flashdata并将其标记为$myVar

答案 3 :(得分:1)

创建类的公共变量,以便可以访问所有方法中的变量。

class myClass{
    public $id;

    public function first(){
        $this->id = $this->input->post('quizID_click');
    }

    public function second(){
        $id = $this->id;
    }
}

但这取决于你想要完成的事情?请详细说明你想要做什么。

答案 4 :(得分:0)

public function firstFunction()
{
    $Id = $_POST['quizID_click'];
    $this->seconFunction($id);
}


 public function secondFunction($id)
 {
     $temp = $id;
 }

这是在函数之间传递变量的方法。