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


How to use a variable of a function in another function of same class -Codeigniter

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

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

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

请让我知道如何在secondFunction 中访问$Id

要扩展我的注释,您可以将变量创建为类的属性。。已经有一段时间没有使用CI了,所以请原谅,类就是类:)

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

希望这能让你进入

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

    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'可以是任何值。则第二个控制器查找该闪存数据并将其发送到$myVar

函数创建局部变量,这些变量在函数完成时被销毁。为了维护所需的变量,您必须从函数中返回它,然后将其分配给一个变量。

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

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

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

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

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

但这取决于你要完成什么?请详细说明您正在尝试做什么。

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

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

这就是如何在函数之间传递变量。