我想将$Id
的值firstFunction
分配给$temp
中的变量secondFunction
。
public function firstFunction()
{
$Id = $_POST['quizID_click'];
}
public function secondFunction()
{
$temp = ------;
}
请告诉我如何访问$Id
secondFunction
答案 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;
}
这是在函数之间传递变量的方法。