1

在 MySQL 中,我有一个包含列IDname.

对数据库的查询会给我每个查询行作为一个数组:

$row = array('ID' => '3', 'name' => 'John');

我也有一个 PHP 类

class Person {
    var $ID = '';
    var $name = '';
}

我如何写一个构造Person函数以便我可以去

$current = new Person($row);

echo $current->ID; // 3
echo $current->name; // John
4

1 回答 1

1

就像变量变量一样,您可以拥有变量属性:

class Person {
    var $ID = '';
    var $name = '';

    public function __construct($row) {
        foreach($row as $key => $value) {
            # `$this->$key =` sets the property of $this named whatever’s in $key.
            $this->$key = $value;
        }
    }
}

不过,您可能希望将其设为静态方法 ( fromRow?),以避免 PHP 中的重载混乱。您可能还想过滤键;这取决于情况。

这是一个演示!

于 2013-05-26T00:17:27.247 回答