我有一个函数,我想将一个变量返回给另一个函数。
我可以返回数组变量,以便可以在其他函数中使用该变量吗?
public function update_mdr_pameran() {
//global $araydatamdr;
$this->config->set_item('compress_output', FALSE);
$araydatamdr['mdr_debit'] = trim($this->input->post('mdr_debit'));
$araydatamdr['mdr_debit_npg'] = trim($this->input->post('mdr_debit_npg'));
$araydatamdr['mdr_debit_pl'] = trim($this->input->post('mdr_debit_pl'));
return $araydatamdr;
}
当我尝试在另一个函数中使用$araydatamdr
时,它变为0.
我错过了什么吗?
答案 0 :(得分:3)
您可以通过调用函数并将其返回值设置为另一个变量来实现此目的。
方法1:
class Test extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function update_mdr_pameran() {
//global $araydatamdr;
$this->config->set_item('compress_output', FALSE);
$araydatamdr['mdr_debit'] = trim($this->input->post('mdr_debit'));
$araydatamdr['mdr_debit_npg'] = trim($this->input->post('mdr_debit_npg'));
$araydatamdr['mdr_debit_pl'] = trim($this->input->post('mdr_debit_pl'));
return $araydatamdr;
}
public function test_func() {
$araydatamdr = $this->update_mdr_pameran();
var_dump($araydatamdr);
}
}
或者您也可以将$ araydatamdr设置为$ this reference。
方法2:
class Test extends CI_Controller {
public $araydatamdr;
public function __construct() {
parent::__construct();
$this->araydatamdr = [];
}
public function update_mdr_pameran() {
$this->config->set_item('compress_output', FALSE);
$this->araydatamdr['mdr_debit'] = trim($this->input->post('mdr_debit'));
$this->araydatamdr['mdr_debit_npg'] = trim($this->input->post('mdr_debit_npg'));
$this->araydatamdr['mdr_debit_pl'] = trim($this->input->post('mdr_debit_pl'));
}
public function test_func() {
$this->update_mdr_pameran();
var_dump($this->araydatamdr);
}
}
答案 1 :(得分:0)
可以使用echo $araydatamdr;
或var_dump
打印print_r
阵列。你也可以在php中返回一个数组,但我个人更喜欢首先对它进行json_encode,所以我返回一个json作为我函数的输出,如:
return json_encode($araydatamdr);
然后这是一个简单的函数调用。
我不知道你的项目结构,但我给出了一般指导。除此之外,我没有看到任何其他可以阻止你的功能。
我编辑我的帖子,因为我看到问题是调用该函数。根据您的调用方式,有两种方式。如果该函数与您想要调用的其他函数位于同一个类中,则可以使用:
$result=$this->update_mdr_pameran();
我看到你的函数没有参数,所以你不需要设置任何参数。如果它在另一个文件中:
1)将您的php文件包含在顶部,如:
require 'myphpclass.php';
*提示确保您的路径正确。
2)创建一个新的类对象,然后调用如下函数:
$class= new myClass();
$result=$class->update_mdr_pameran();