0
関数入力に基づいてオブジェクト内の連想配列を更新できるようにしたいのですが、これを行う方法が失われています。ここに私の問題がある。PHP:クラス関数を使用して連想配列を更新していますか?
private $vars = Array
(
['user_info'] = Array
(
['name'] => 'John Doe'
['id'] => 46338945
['email'] => '[email protected]'
['age'] => 35
)
['session_info'] = Array
(
['name'] => 'session_name'
['id'] => 'mGh44Jf0nfNNFmm'
)
)
と私はこれらの値を変更するパブリック関数update
を持っている:のは私のオブジェクトでこのデータコンテナがあるとしましょう
public function update($keys, $changeValueTo) {
if (!is_array($keys)) {
$keys = array($keys);
}
nowWhat();
}
は最終的に、私はちょうどこのような何かを変換することができるようにしたい
この中array('user_info', 'name')
:
$this->vars['user_info']['name']
ですので、$equalTo
と同じに設定することができます。
これは通常問題ではありませんが、このシナリオでは配列のスキーマはわかりませんので、固定数のキーに基づいてforeach
ステートメントを記述することはできません。 $vars
をpublicにすることはできません。何かが変更されるたびにオブジェクト内で何かを行う必要があるからです。
私はこれがeval()
に頼る再帰的シナリオであると心配しています。あなたは何をお勧めします?
変数を参照渡しすることが何を意味するのかはまだ不明ですが、私はそのことについていくつかの研究を行う必要があります。ありがとう! – Jonesy