例如一个对象
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中处理这个数组也可以!
data就是返回的json格式数组,如果是一维的可以直接用newdata['xx'],二维的就要循环一下了
我去试试回来告诉你
是一样的亲自证实