声明为类成员的变量可以从一个函数访问,但不能从另一个函数访问

时间:2017-11-02 09:35:18

标签: php codeigniter

我在这里有点困惑。据我所知,这应该有效,但它不是!!

class MyClass extends CI_Controller {
        private $myArray = array();
        public function function1(){
                array_push($this->myArray,'data');
                echo sizeof($this->myArray);      
        }
        public function function2(){
                echo sizeof($this->myArray);
        }
}

首先,我调用localhost / MyClass / function1,它将呈现一个视图,并使用一个将调用function2的按钮向数组添加一些数据(文本数据没什么特别之处)。第一个函数将输出数组的大小让我们说2但是通过单击按钮调用function2 - 按正确的顺序 - 将输出大小为0.任何想法如何实现?

我尝试了以下内容:

1- private $myArray = [];
2- private $myArray; // then i initiated it in the __construct() function
3- made it public

修改

问题是在使用第一个函数的数据填充数组并调用第二个函数后,填充后我的大小为0而不是实际大小。

2 个答案:

答案 0 :(得分:0)

vagrant destroy

您必须先调用function1(),否则您可以调用构造以自动加载类调用

enter image description here

答案 1 :(得分:0)

我认为问题在于调用MyClass的代码 一个可能不在php会话中,您可以尝试将myArray设为static。 所以myArray不会是您的想法 你能把更多的代码看看吗? 你是否通过ajax调用php文件?

相关问题