オブジェクト内の多次元配列から要素にアクセスしようとしています。たとえば、多次元配列を表す$ phoneという変数を持つクラスFooがあるとします。未知のキーでネストされた連想配列にアクセスする
$phone -> structure will look like
Array {
"home" Array(1) {[0] = "555-1212"},
"work" Array(2) {[0] = "555-1234", [1] = "555=5434"},
"other" Array(1) {[0] = "555=9090"}
}
注:私たちは鍵を知っているとは思いません。
は私が
$foo->phone["home"][0]
問題は、私は明示的にキーを知っているし、他の場所からそれらを引っ張っていないときに来る、すなわち、明示的なキーを与えることによって値にアクセスすることができます。
$object->$type[$subtype][0]
が値を取得するが、私はエラーを取得し、それはdoesnの:$タイプ=「電話」、=「ホーム」$サブタイプ、と私は最初のエントリをしたい場合は たとえば、私が使用することを期待しますそれが配列だとは思わない。私はどこにエラーがあるのか分かりません。
次に、最下位レベルの配列に要素を追加します。私は、次のことがうまくいくと仮定しますが、しません:
array_push($object->$type[$subtype], $value)
このmutidimensional配列は、私は、単一の入れ子構造のキーによって標識の電話番号を格納することが可能になります。これが問題を複雑にしている場合は、私に知らせてください。私がこの構造を選んだのは、キーがユーザーがカスタマイズできるものであるためです。
ありがとうございました。
あなたが言うとき。 'キーはユーザーがカスタマイズするものであれば何でも構いません'、あなたはこの情報を提出するために使用するフォームでキーを設定できると言っていますか? –
はい。ユーザーがキーを作成できる他の方法があります。たとえば、 "自宅ファックス"のようにしてから、番号を1つ追加します。これは、Appleのアドレス帳のように動作するように意図されています。私は、電話番号のためのカスタマイズされたフィールドを追加し、独自のキーで定義することができます。 – user1034603