[PHP-users 25819] クラスに配列を渡す

Tybalt of Capulet ice-man @ tomato.ne.jp
2005年 6月 13日 (月) 19:17:37 JST


神崎です。

クラスに配列を渡そうとしたのですができませんでした。

---------Class(ここから)------------------
class A {
  var $id;

  function A() {
    $this->id = array();
  }
  function B() {
    foreach ( $this->$id as $idval ) {
      // ここに処理
    }
  }
}
---------Class(ここまで)------------------

インスタンスを、

$c = new A();
for ( $i = 1; $i <= 10; $i++ ){
  array_push($c->id, $i);
}
$c->B();

とやっても、

$id = array();
$c = new A();
for ( $i = 1; $i <= 10; $i++ ){
  array_push($id, $i);
}
$c->id = $id;
$c->B();

とやっても、function B()の$idvalには何も値が入ってきません。
これは何故でしょうか?
また書き方が無茶苦茶でしょうか?
一応マニュアルやgoogleで出てきたページを見ながらやったのですが。

環境は、
Red Hat Linux 7.3
PHP Version 4.3.11
Apache/1.3.27
です。



PHP-users メーリングリストの案内