2017-08-14 5 views
0

多次元配列を持ち、値に直接アクセスしようとするとPHPが値の代わりに配列を返すようです。これを引き起こすために私は何をしていますか?PHP多次元配列のデータへのアクセス

配列は、(しますprint_r経由)のようになります。

Array ( 
[12] => Array ([2016] => 93083.00 [2015] => 85367.00 [2014] => 69726.00) 
[11] => Array ([2016] => 66730.00 [2015] => 65548.00 [2014] => 77936.00) 
[10] => Array ([2016] => 84602.00 [2015] => 112070.00 [2014] => 102104.00) 
) 

私は$arrayname[12][2016]を使用して値にアクセスしようとしているが、それはArray[2016]代わりの93083を返しています。

これは単純な構文ミスですか?あるいは私はコンセプトの一部をここで欠いていますか?私はこの問題を何時間も働かせようとしてきたので、簡単な説明がないかもしれません。

EDIT:上記の構文は実際には正しいですが、問題はデータエントリにあります:存在しなかったキーにアクセスしようとしました。投稿を削除しようとしましたが、回答があったのでできません。

+6

これは正しいので、どのように印刷しようとしているか表示してください。 – aynber

+0

'echo $ chart3_array [1] [2017];'は何も出力せず、 'print_r($ chart3_array);は出力しません。 – Keith

+0

これはおそらく2番目のキーのタイプの問題でしょうか?私は2017年と2017年の両方でそれを試しました。 – Keith

答えて

1
$arrayname[12] = [2016=>93083.00, 2015=> 85367.00 ] 
    ... 
    ... 
    echo $arrayname[12][2015] ; // prints 85367 

あなたの配列にはもう1つのレベルがあると思います。 $ arrayname [12] [2016]を試してください。