在PHP中将变量绑定到超类
所以我有两门课: 表格类在PHP中将变量绑定到超类,php,Php,所以我有两门课: 表格类 <?php class table { protected $id = null; protected $table = null; function __construct() { } function bind($data) { // print_r($data); foreach ($data as $key=>
<?php
class table {
protected $id = null;
protected $table = null;
function __construct() {
}
function bind($data) {
// print_r($data);
foreach ($data as $key=>$value) {
$this->key = $value;
// echo $key."--".$value;
// echo $this->$key;
}
}
}
?>
<?php
class user extends table
{
var $username = null;
var $password = null;
var $email = null;
var $table = "user";
}
?>
相反,它返回:
Array (
[username] =>
[password] =>
[email] =>
[table] => user
)
有人能告诉我为什么变量没有绑定到超类吗
根据这一点,它应该起作用:
它应该输出:
不,不应该get_class_vars
返回类中定义的变量,您正在查找实例化的对象属性,因此应该使用:
$objectVars = get_object_vars($user);
在
foreach
中的bind
中,您使用的是$this->key=$value
而不是$this->{$key}=$value
要获取实例的变量(而不是类的默认值),请使用 我非常严格地建议您更改密码;)
Array (
[username] =>
[password] =>
[email] =>
[table] => user
)
$objectVars = get_object_vars($user);