1

助けが必要です。私は作業クラスを持っており、foreach() を使用してパブリック変数を表示できます。

class MyClass {
     public $a;
     public $b;
     function __construct($aX,$bX){
          $this->a = $aX;
          $this->b = $bX;
     }
}

$class = new MyClass(3,5);
foreach($class as $key => $value) {
     print "$key => $value</br>\n";
}

生成:

a => 3
b => 5

MyClassの配列が必要なときに問題が発生します。

class MyClass
{
    public $a;
    public $b;
    function __construct($aX,$bX){
        $this->a = $aX;
        $this->b = $bX;
    }
}

$class = array(
     "odd"=>new MyClass(3,5), 
     "even"=>new MyClass(2,4)
     );
foreach($class as $key => $value) {
    print "$key => $value</br>\n";
}

生成:

Catchable fatal error: Object of class MyClass could not be converted to string...

$class 配列のすべての要素をループするにはどうすればよいですか? どんな助けでも素晴らしいでしょう!

4

3 に答える 3

0

get_class_varsを使用します。

<?php
 class C {
     const CNT = 'Const Value';

     public static $stPubVar = "St Pub Var";
     private static $stPriVar = "St Pri Var";

     public $pubV = "Public Variable 1";
     private $priV = "Private Variable 2";

     public static function g() {
         foreach (get_class_vars(self::class) as $k => $v) {
             echo "$k --- $v\n";
         }
     }
 }

 echo "\n";
 C::g();

結果:

pubV --- Public Variable 1
priV --- Private Variable 2
stPubVar --- St Pub Var
stPriVar --- St Pri Var
于 2016-03-08T11:46:45.093 に答える