【发布时间】:2013-01-25 06:52:23
【问题描述】:
我正在尝试遍历父类中扩展类的不同选项,但我的 foreach 语句不断出现此错误:
警告:为 foreach() 提供的参数无效
不知道为什么会这样,知道我错过了什么吗?不知道为什么$this->options() 不被识别为一个数组......我以前也做过类似的事情,但我认为这里有一些东西正在我的脑海中闪现:
class parent_class {
public function my_method() {
$options = $this->options();
foreach($options as $option) {
// ...
}
}
public function options() {
}
}
class child_one extends parent_class {
public function options() {
$options['name_one'] = array(
'type' => 'type_one',
'id' => 'id_one',
'name' => 'name_one'
);
return $options;
}
}
class child_two extends parent_class {
public function options() {
$options['name_two'] = array(
'type' => 'type_two',
'id' => 'id_two',
'name' => 'name_two'
);
return $options;
}
}
【问题讨论】:
-
尝试 var_dump() 变量,看看它是否被认为是一个数组。
-
嘿@Dukeling,这是 PHP。
-
@fedorqui,它们确实以数组的形式出现,但它们都是独立的。我在想我可能需要将所有不同的 $options 实例合并到一个数组中?
标签: php class methods foreach extends