php访问对象属性为数组时的情况

例如一个对象
class student{
private $id; //定义属性,学号
private $name; //定义属性,姓名
//读取值
public function getname(){
return $this->name;
}
}

假如id和name都已经赋值,则输出该值的方法为
$d = new student();

$stu_name=$d->getname();

echo $stu_name;

问题:假如这个学生有一个属性为数组的话,我返回这个属性的值得时候该如何写呢?

一样得,例如:

<?php 

class student{

private $id; //定义属性,学号

private $name; //定义属性,姓名

private $teacher;//定义属性,所属老师,array

//读取值

public function getteacher(){

$this->teacher = array('甲','乙');

return $this->teacher;

}

}

$d = new student();

$stu_teacher=$d->getteacher();

echo "<pre>";

print_r($stu_teacher);

echo "</pre>";

?>

追问

您好,是这样的,我是需要将这些属性的值以json的格式返回给js的,所以,我必须在值得前面加上一个字段名
example:[{"stu_id":"1","stu_clsid":"1","stu_name":"\u8d75")}]
因此,如果一个属性直接是一个值的话,这很好办,可是当属性是数组的话,直接转化会成为这种形式
{"stu_id":"5","stu_clsid":"1","stu_name":"\u5468","teacher":["\u7532","\u4e59"]}
teacher里面的值前面缺少了字段名
给个解决思路吧,谢谢

追答

思维是多变的,你可以将你得到的数据处理成你想得到的任何形式(只要符合规范)!你可以将你得到的数组的值用算法规则转换为你认为符合要求的单个变量!还有在js接收到的teacher也是数组了,那么你在js中处理这个数组也可以!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-11
js里面用eval绑定json格式的,比如var newdata=eval("("+data+")");
data就是返回的json格式数组,如果是一维的可以直接用newdata['xx'],二维的就要循环一下了
第2个回答  2012-10-10
一样吧!没什么区别吧!
我去试试回来告诉你
是一样的亲自证实

相关了解……

你可能感兴趣的内容

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