【发布时间】:2014-05-18 22:15:43
【问题描述】:
我正在尝试将关联数组中的键和值分配给类属性。下面的代码是我想出的。当我尝试使用 $user 对象时出现错误。数组可能来自正在运行的数据库查询(PDO)。
我有什么办法可以完成这项工作吗?
<?php
class assoctoprop {
public $fname;
public $lname;
public $email;
public function assign(){
$user = new assoctoprop;
$array = array("fname"=>"firstname", "lname"=>"lastname", "email"=>"my@email.com" );
foreach($array as $key=>$value){
$user->$key = $value;
}
return $user;
}
}
echo $user->fname."<br/>";
echo $user->lname."<br/>";
echo $user->email."<br/>";
?>
这行得通
<?php
class assoctoprop {
public $fname;
public $lname;
public $email;
/*public function assign(){
$user = new assoctoprop;
$array = array("fname"=>"firstname", "lname"=>"lastname", "email"=>"my@email.com" );
foreach($array as $key=>$value){
$user->$key = $value;
}
return $user;
}*/
}
$user = new assoctoprop;
$array = array("fname"=>"firstname", "lname"=>"lastname", "email"=>"my@email.com" );
foreach($array as $key=>$value){
$user->$key = $value;
}
echo $user->fname;
echo $user->lname;
echo $user->email;
?>
但我的问题是,我想把整个过程推入一个方法中,这样我就可以在我需要的时候使用它,而不必每次都重新编写过程
【问题讨论】:
-
是的。我可以从 assign 方法中实例化类吗?
-
如果您使用 PDO,那么您可以将结果作为用户定义的对象返回。您可以使用 PDOStatement 对象的 setFetchMode() 方法返回一个对象。 snippetbank.net/2014/05/php-introduction-to-pdo-part-2.html