我将多个对象存储到配置数组中。
例如像这样
class Test
{
private $config = array();
public function __construct()
{
$this->abc();
$this->def();
}
public function abc()
{
$this->config['abc'] = new someClass('abc');
}
public function def()
{
$this->config['def'] = new someClass('def');
}
public function printTest()
{
return $this->config;
}
}
class someClass
{
public function __construct($value)
{
echo $value;
}
}
我的问题是,当print_r配置变量时,我确实看到了对象数据。在我尝试将第二个对象abc
存储到配置数组中之后,我无法理解为什么我无法回显第一个对象def
的值。
答案 0 :(得分:0)
当你想打印config ['def']时,你需要表达那是你想要的数据。现在
$this->config
是
array('abc'=>'abc', 'def'=>'def')
你刚才说
return $this->config['def'];
就个人而言,我觉得一个名为printSomething()的函数应该将数据打印到屏幕上(或者至少返回一个字符串,所以我会说
function printConfig()
{
$tmp = "";
foreach($this->config as $key=>$value)
{
$tmp .= "Config option:{$key} value is {$value}<br>";
}
return $tmp;
}