class User {
private $id;
private $name;
private $age;

public function __construct($name,$age){
$this->name = $name;
$this->age = $age;
}

public function __getAge() {
return $this->age;
}

public function __getId() {
return $this->id;
}

public function __getName() {
return $this->name;
}

public function __setAge($age) {
$this->age = $age;
}

public function __setId($id) {
$this->id = $id;
}

public function __setName($name) {
$this->name = $name;
}
}方法一
$arrayUser = new ArrayObject();
$arrayUser->append(new User("abc",18));
$arrayUser->append(new user("youyou",20));$arr = print_r($arrayUser);foreach ($arr as $value){
echo $value;
}
遍历不出来(也用过$arr = var_dump($arrayUser))都不行方法二
$arr2 = array(new User("abc",18),new user("youyou",20));foreach ($arr2 as $value){
echo $value;
}
也遍历不出来小弟是个初学者 我想把对象放入数组中(这步已经实现) 然后又想把数组中的对象一一取出来 并且能通过取出来的对象得到此对象的属性(就比如java中得到用户名用 user.getName())应该怎么做 有哪们大侠知道??(急)

解决方案 »

  1.   

    foreach ($arr2 as $value){
      print_r($value);
    }因为这里的$value还是一个对象,所以你得用print_r或者再作一次循环
    foreach ($arr2 as $value){
      for( $value as $k=>$v){
        echo $v;
      }
    }
      

  2.   

    是不是这样
    $arr2 = array(new User("abc",18),new user("youyou",20));
    foreach ($arr2 as $value){
    foreach ($value as $v){
    echo $v;
    }
    }
      

  3.   

    $arrayUser = new ArrayObject();
    $arrayUser->append(new User("abc",18));
    $arrayUser->append(new user("youyou",20));foreach($arrayUser as $value){
      echo $value->__getName();
    }你那都是私有的属性,不可直接访问
      

  4.   

    <?php
    class User {
    private $id;
    private $name;
    private $age; public function __construct($name,$age){
    $this->name = $name;
    $this->age = $age;
    } public function __getAge() {
    return $this->age;
    } public function __getId() {
    return $this->id;
    } public function __getName() {
    return $this->name;
    } public function __setAge($age) {
    $this->age = $age;
    } public function __setId($id) {
    $this->id = $id;
    } public function __setName($name) {
    $this->name = $name;
    }
    }$arrayUser = new ArrayObject();
    $arrayUser->append(new User("abc",18));
    $arrayUser->append(new user("youyou",20));//这样
    foreach ($arrayUser as $value){
      print_r($value);
    }
    //或者这样
    foreach ($arrayUser as $k => $value){
    echo $value->__getName()."\r\n";
    echo $value->__getAge()."\r\n";
    }
    ?>
      

  5.   

    $arr2 = array(new User("abc",18),new user("youyou",20));
    foreach ($arr2 as $value){
    print_r($value);
    }