Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的返回数组变量_Php_Arrays_Codeigniter - Fatal编程技术网

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$araydatmdrvar\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$araydatmdrvar\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或数组,也取决于您如何处理它。但您必须遵守数组规则。