在php
代码中,我找到了代码段:
class GF_Field extends stdClass implements ArrayAccess {
if ( is_array( $this->inputs ) ) {
foreach ( $this->inputs as $input ) {
但我不知道inputs
是什么来的。
任何帮助都会被高度挪用。
修改
程序员做了两个模棱两可的步骤,这让我更难找到声明:
foreach ( $this->inputs as &$input ) {
$input = something
答案 0 :(得分:1)
您在这里省略代码,但简而言之,您不必在PHP中明确定义属性。您只能为对象创建,它将按以下方式工作:
class AnyClass extends stdClass {
public function print() {
if ( is_array( $this->inputs ) ) {
foreach ( $this->inputs as $input ) {
echo $input;
}
}
}
}
$obj = new AnyClass;
$obj->inputs = [1,2,3];
$obj->print();
它将输出123
。
stdClass是PHP对象的泛型类。 ArrayAccess是一个PHP界面。因此,在您的情况下,$inputs
可能未在类或类树中的任何位置定义,而是直接在对象实例中“定义”。