PHP中如何定义对象类型数组

例如 :
第一个文件:文件名为:Department.php
<?php
class Department
{
private $department;

public function getDepartment()
{
return $this->department;
}

public function setDepartment($department)
{
$this->department=$department;
}
}
?>

第二个文件:
<?php
define('ROOT_PATH',dirname(dirname(__FILE__)));
include (ROOT_PATH."/Common/class.DBConnect.php");
include (ROOT_PATH."/Class/class.Department.php");
class Select
{
public function selectDepartment()
{
$sql="select * from YX_Department";
$DBObject= new DBConnect();
$result=$DBObject->DBControl($sql);
$DepartObject= new Department();
while ($row=mysql_fetch_array($result))
{
$DepartObject->setDepartment($row[0]);
}

}
}
?>
我想把数据库里面读出来的数据循环存储到 Department的对象数组中,方便再其他地方调用,请问while里面应该怎么写呢。

第1个回答  2012-03-04
应该是存到对象属性中吧
你把
public function setDepartment($department)
{
$this->department=$department;
}
改成
public function setDepartment($department)
{
$this->department[]=$department;
}
即可
private $department;
要不要改成
private $department=array();
其实无所谓追问

那获取值的时候该怎么写呢。如何判断数组长度呀。。

追答

获取值你用同一个$DepartObject对象(注意,我说的是同一个对象,不明白继续问我)
调用getDepartment这个方法(这些代码是你自己写的么?)
$DepartObject->getDepartment();
照你这样的写法
估计得用全局变量
$GLOBALS["DepartObject"]->getDepartment();
这样的写法才能在其他的地方使用。。
数组长度用count,不知道怎么用去查php使用手册吧

追问

我已经解决掉了,谢谢你啦, 虽然不是用你的方法,但是你多少还是给了我点提示。。谢谢啊
不过我 在改用PDO 链接数据库 提示:
SQLSTATE[42000] [1044] Access denied for user ''@'localhost' to database 'njyxcompany'
用户名已经是ROOT了
而且链接别的库都是可以的 就是这个库有点问题,请问怎么弄呢 拜托啦 我真的很急

追答

是root不代表就是最高权限,可能这个库把你的root账号限制了权限

追问

我实在找不到问题了 一气之下 在数据库中的everyone中添加了所有权限 这下到是可以用了!!

追答

很明显,权限不足么,呵呵

第2个回答  2012-03-05
$a=array();
while ($row=mysql_fetch_array($result))
{
$d= new Department();
$d->setDepartment($row[0]);
$a[]=$d;
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网