我一直在关注一个非常有趣的教程,它真正测试了我编程Php的能力。我一直以为我是男人,但结果却变得更糟。话虽如此,在教程中解释了实例化一个对象的要求,所以我输入了这个代码并且没有弄错我一切正常都没问题。最重要的是,我真的不明白它是如何工作的,这就是为什么我希望有人向我解释更多。 我的问题当你使用MySQL_fetch_array从数据库中提取记录时,数据是如何呈现给接收变量的。例如贝娄
private static function instantiate($record){
$object = new self;
foreach($record as $attribute => $value){
if($object->has_attribute($attribute)){
$object->$attribute =$value;
}
}
return $object;
}
如果我在表格中有3个字段,例如姓名,年龄,地址和值,请说Jhone,23,arizona将存储在属性中的内容以及将存储在Key中的内容以及索引在哪里以及如何执行foreeach从数据库中提取这些数据,如上例所示,并将其分配给另一个数组。我不需要任何代码我的代码工作正常,我需要的是一个非常原始和清晰的解释。并且事先感谢你的支持。
答案 0 :(得分:1)
/**
* @param array $record Record as returned from database
*
*/
private static function instantiate($record){
//Create a new instance of this class.
$object = new self;
//Iterate the record to find all of the data
foreach($record as $attribute => $value){
//If this class has a defined attribute which was found in the record
if($object->has_attribute($attribute)){
//Set it to the value from the database.
$object->$attribute =$value;
}
}
//Return the instance for others to use
return $object;
}
以下是您的功能,包括文档。
答案 1 :(得分:0)
真正有用的是打印方法中的东西(例如print_r
)。例如,尝试使用您的方法:
private static function instantiate($record){
print_r($record);
$object = new self;
print_r($object);
foreach($record as $attribute => $value){
echo "attribute: $attribute, value:$value <br />";
if($object->has_attribute($attribute)){
$object->$attribute =$value;
}
}
print_r($object);
die();
return $object;
}
这样,你可以准确地看到对象,foreach等正在发生什么。