PHP中的返回数组变量
我有一个函数,我想把一个变量返回给另一个函数 我是否可以返回数组变量,以便在其他函数中使用该变量PHP中的返回数组变量,php,arrays,codeigniter,Php,Arrays,Codeigniter,我有一个函数,我想把一个变量返回给另一个函数 我是否可以返回数组变量,以便在其他函数中使用该变量 public function update_mdr_pameran() { //global $araydatamdr; $this->config->set_item('compress_output', FALSE); $araydatamdr['mdr_debit'] = trim($this->input->post('mdr_debit')); $
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
我遗漏了什么吗?划掉
echo$araydatmdr可以使用var\u dump
或print\r
打印数组。您也可以在php中返回数组,但我个人更喜欢先对其进行json_编码,因此我返回一个json作为函数的输出,如下所示:
return json_encode($araydatamdr);
然后是一个简单的函数调用
我不知道你的项目结构,但我提供一般指导。除此之外,我看不到任何其他东西会阻止你的功能
我编辑我的帖子,因为我看到问题是调用函数。有两种方法,具体取决于你的称呼。如果该函数与您要调用的另一个函数在同一个类中,您可以选择:
$result=$this->update_mdr_pameran();
我看到你的函数没有参数,所以你不需要设置任何参数。如果它在另一个文件中:
1) 在顶部包括您的php文件,如:
require 'myphpclass.php';
*提示:确保你的路径是正确的
2) 创建一个新的类对象,然后调用如下函数:
$class= new myClass();
$result=$class->update_mdr_pameran();
划掉echo$araydatmdr可以使用var\u dump
或print\r
打印数组。您也可以在php中返回数组,但我个人更喜欢先对其进行json_编码,因此我返回一个json作为函数的输出,如下所示:
return json_encode($araydatamdr);
然后是一个简单的函数调用
我不知道你的项目结构,但我提供一般指导。除此之外,我看不到任何其他东西会阻止你的功能
我编辑我的帖子,因为我看到问题是调用函数。有两种方法,具体取决于你的称呼。如果该函数与您要调用的另一个函数在同一个类中,您可以选择:
$result=$this->update_mdr_pameran();
我看到你的函数没有参数,所以你不需要设置任何参数。如果它在另一个文件中:
1) 在顶部包括您的php文件,如:
require 'myphpclass.php';
*提示:确保你的路径是正确的
2) 创建一个新的类对象,然后调用如下函数:
$class= new myClass();
$result=$class->update_mdr_pameran();
您可以通过调用函数并将其返回值设置为另一个变量来实现这一点
方法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:
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);
}
}
如何在其他函数中调用$araydatamdr
?您不需要echo
和return
。只需返回它。数组上的Echo不起作用,请使用var\u dump($array)代码>。不可能的可能副本。您应该使用类似于$arr=update\u mdr\u pameran()
的方法调用它。在其他函数中如何调用$araydatamdr
?您不需要回送
和返回
。只需返回它。数组上的Echo不起作用,请使用var\u dump($array)代码>。不可能的可能副本。您应该使用类似于$arr=update\u mdr\u pameran()
的方法调用它,那么如何在其他函数中从这些json中获取值呢?要查看json的信息,还需要打印它。如果您想将其视为一个数组,您可以对其进行json_解码,或者简单地访问json字段(由您自己决定)。一个小技巧是,当你解码时,你总是使用json_decode($myjson,true)来获取数组,而不是std类对象。实际上,我想知道如何在其他函数中使用这些数组变量。我编辑了关于如何调用函数的帖子。你想如何使用它们取决于你自己。正如我上面所说的,即使是json或数组,也取决于您如何处理它。但是您必须遵循数组规则。那么如何在其他函数中从这些json中获取值呢?要查看json的信息,还需要打印它。如果您想将其视为一个数组,您可以对其进行json_解码,或者简单地访问json字段(由您自己决定)。一个小技巧是,当你解码时,你总是使用json_decode($myjson,true)来获取数组,而不是std类对象。实际上,我想知道如何在其他函数中使用这些数组变量。我编辑了关于如何调用函数的帖子。你想如何使用它们取决于你自己。正如我上面所说的,即使是json或数组,也取决于您如何处理它。但您必须遵守数组规则。