请帮助代码,我无法在提取自身后打印关联数组的值
class display{
protected $variables = array();
function set($name,$value) {
$this->variables[$name] = $value;
}
function render(){
extract($this->variables);
// ?? to print values of $variable array
}
答案 0 :(得分:3)
foreach($this->variables as $key => $value) {
echo "{$key}: {$value}\n";
}
答案 1 :(得分:1)
你如何尝试打印这些值?不应该影响数组本身(它是$varables
,而不是$variable
,btw)。
更新:根据您对其他答案的回复我可以告诉您,您实际上并不需要extract
数组。 extract
jusst将变量放入本地命名空间,在那里它们将更难枚举。你需要的是按原样使用数组。
foreach($this->variables as $k => $v) echo "$k: $v\n";
或者你想用它们做什么。
答案 2 :(得分:0)
如果你正在使用课程,你需要有类似的东西 var $ variables = array();要么 public $ variables = array();
如果您使用的是结构化的,则需要这样做 全局$变量; 在函数内...但是你正在使用$ this->它表示你使用了一个类。您必须在此处输入更多代码才能使情况更加清晰。