PHP 学校,班级,学生类的三级关系

来源:互联网 发布:h3c ap端口修改为wan 编辑:程序博客网 时间:2024/05/17 04:31
<?php/** * Created by PhpStorm. * User: yangy * Date: 2017/5/11 * Time: 8:05 *///学校类class School{    private $SchoolName;    private $classes=array();    public function __construct()    {        $this->classes=array();    }    public  function &__get($property_name)    {        //echo "在直接获取私有属性值的时候,自动调用了这个__get()方法\n";        if(isset($this->$property_name))        {            return($this->$property_name);        }        else        {            return(NULL);        }    }    //__set()方法用来设置私有属性    public  function __set($property_name, $value)    {        //echo "在直接设置私有属性值的时候,自动调用了这个__set()方法为私有属性赋值\n";        $this->$property_name = $value;    }}//班级类class SchoolClass{    private $students;    private $className;    public function __construct()    {        $this->students=array();    }    public  function &__get($property_name)    {        if(isset($this->$property_name))        {            return($this->$property_name);        }        else        {            return(NULL);        }    }    public  function __set($property_name, $value)    {        $this->$property_name = $value;    }}//学生类class Student{    private $name;    private $age;    public function __construct($name, $age)    {        $this->name = $name;        $this->age = $age;    }    public  function &__get($property_name)    {        if(isset($this->$property_name))        {            return($this->$property_name);        }        else        {            return(NULL);        }    }    public  function __set($property_name, $value)    {        $this->$property_name = $value;    }}function main(){    $school=new School();    $school->schoolName="XXX大学\n";    for ($i=0;$i<10;$i++){        array_push($school->classes,new SchoolClass());        $school->classes[$i]->className="班级".$i;        for ($j=0;$j<30;$j++){            array_push($school->classes[$i]->students,new Student("学生".$j,$j+10));        }    }    echo $school->schoolName;    for ($i=0;$i<10;$i++){        echo $school->classes[$i]->className."\n";        for ($j=0;$j<30;$j++){            echo "          ".$school->classes[$i]->students[$j]->name."    年龄".$school->classes[$i]->students[$j]->age."\n";        }    }    //第二种遍历方式    echo $school->schoolName;    foreach ($school->classes as $class){        echo $class->className."\n";        foreach ($class->students as $student){            echo "          ".$student->name."    年龄".$student->age."\n";        }    }}main();
0 0
原创粉丝点击