我有一个PHP类.在课堂上我有一个叫做的函数setContent().在里面我有多个变量值.我已经获取了这些变量值并将它们存储在一个数组中.在另一个函数中,我希望将所有变量存储在一个数组中.所以我的代码是这样的
class foo{
public function setContent() {
global $my_array;
$var1 = 'variable 1';
$var2 = 'variable 2';
$var3 = 'variable 3';
$var4 = 'variable 4';
$var5 = 'variable 5';
new_array = array();
$my_array = array_push($new_array, $var1, $var2, $var3, $var4, $var5);
}
public function getContent() {
global $my_array;
var_dump($my_array);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我在做的时候var_dump($my_array).它的表现NULL.所以有人可以告诉我如何将这些变量放在数组中的其他函数中.任何帮助和建议都会非常明显.
您可以通过在类中声明它来设置要使用的数组.然后,你只是引用$this而不是全局变量.
class foo{
public $my_array; # new bit here
public function setContent() {
# global $my_array; take this bit out
$var1 = 'variable 1';
$var2 = 'variable 2';
$var3 = 'variable 3';
$var4 = 'variable 4';
$var5 = 'variable 5';
$new_array = array();
$this->my_array = array_push($new_array, $var1, $var2, $var3, $var4, $var5);
}
public function getContent() {
var_dump($this->my_array);
}
}
Run Code Online (Sandbox Code Playgroud)
因为数组现在是foo对象的一部分,所以我们现在可以一直引用它.如果您要公开它,您可以执行以下操作:
$f = new foo();
print_r($f->my_array);
Run Code Online (Sandbox Code Playgroud)