別の配列をパスとして使用して、特定の配列のプロパティにアクセスしたいとします。問題は、問題のプロパティがどんな深さにあるかもしれないということです。ここでは一例だ...別の配列の値をターゲットにするパスとしてPHP配列を使用するにはどうすればよいですか?
は、私は、データの連想配列を持っている:
$data = array(
'1' => 'somethings_value',
'2' => 'another_value',
'3' => array(
'1' => 'deeper_value',
),
);
は今、私はこれらの値のいずれかにアクセスしたいが、(キーを使用)、それらへのパスを決定します別の配列を使用して。
$path = array('3', '1');
$path
配列私は(文字列'deeper_value'
だろう)値$data[3][1]
を取得したいという使い方:だから私はこのようなパスの配列を持っていたと言います。
$path = array('1');
文字列値'somethings_value'
になるだろう:
問題は、私はまた、このようなパスの配列を得ることができ、たとえばアクセスする値は、任意の深さであってもよいことです。私は今問題が明確になることを願っています。
これは、ターゲット配列にある値をターゲットにするためにその値をキーとして使用するために、どうやってこのパス配列をループするのですか?
ありがとうございます!
EDIT:読みやすくするためにデータ配列のキーとして数字を使用していますが、実際の問題のキーは実際には文字列です。
このメソッドでは、 '$ data [3] [1]'にアクセスすることはできません。 –
私は何を言おうとしているのか分かりませんが、 'foreach'は常に' $ id'を正しい順序で使用しますか?たとえば、Javaではそうではありません。 – SteeveDroz
@davidおかげでテストしなかった:) –