私はこのようなクラスを持っています:
class Foo {
$elements = array();
function getElementByName($name) {
foreach($this->elements as $elm) {
if ($elm->name == $name) {
return $elm;
}
}
}
}
次のコードが配列の要素を変更することを期待していました。
$myFoo = new Foo();
$myFoo->getElementByName('foo1')->active = true;
代わりに、私のコードを実行すると、 getElementByName を呼び出す前と同じように、のactive
プロパティはまだ false です。$elements['foo1']
関数は要素の「コピー」を作成すると思いますが、配列の実際の要素を取得するにはどうすればよいですか。それを変更してから配列でアクセスすると、その値が変更されますか?