2011-07-25 5 views
1

にするために事前定義の配列を持っていなかった、私は配列を作成し、手動で各エントリ追加することで考えた:私は1だからPHP

$Sections[] = "A.1.4.1";//900 0 900 0 900 900 888 800 800 913 900 900 900 
$Sections[] = "A.1.4.2.1";// 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 994 976 954 900 846 779 516 430 344 328 239 150 
$Sections[] = "A.1.4.2.2";//900 900 900 900 900 900 900 900 900 900 850 800 750 700 650 600 550 500 376 356 336 227 
$Sections[] = "A.1.4.2.3";//1000 1000 1000 1000 900 900 1000 1000 1000 1000 893 803 763 492 516 491 336 336 240 24 
$Sections[] = "A.1.4.3";//1000 1000 879 588 560 366 192 867 807 665 
$Sections[] = "A.1.4.4";//1000 1000 1000 1000 994 864 620 456 1000 1000 1000 
$Sections[] = "A.1.5.1";//900 0 900 800 464 
$Sections[] = "A.1.5.2";//a 1000 1000 846 240 
$Sections[] = "A.1.5.2";//b 900 900 700 356 
$Sections[] = "A.1.5.3";//1000 879 192 
$Sections[] = "A.1.5.4";//1012 922 456 

//EU_A 
$Sections[] = "A.2.5.1";//a 1048 1048 1048 1048 1004 800 576 378 
$Sections[] = "A.2.5.1";//b 1048 1048 1048 1048 1004 820 592 384 
$Sections[] = "A.2.5.2";//a 1048 1048 964 828 672 504 340 
$Sections[] = "A.2.5.2";//b 1048 1048 972 836 696 536 376 
$Sections[] = "A.2.5.3";//a 1048 1048 1048 1048 1004 800 576 378 
$Sections[] = "A.2.5.3";//b 944 944 944 944 944 820 592 384 
$Sections[] = "A.2.5.3";//c 1048 1048 1048 1048 1004 820 592 384 
$Sections[] = "A.2.5.4";//a 1048 1048 1048 910 776 560 308 
$Sections[] = "A.2.5.4";//b 944 944 944 928 804 588 348 
$Sections[] = "A.2.5.4";//c 1048 1048 1048 928 804 588 348 
$Sections[] = "A.2.7.1";// 560 504 424 304 240 200 
$Sections[] = "A.2.7.2";// 520 448 416 360 312 280 

//EU_B 
$Sections[] = "B.2.4.1"; 
$Sections[] = "B.2.4.1"; 
$Sections[] = "B.2.4.2"; 
$Sections[] = "B.2.4.2"; 
$Sections[] = "B.3.4.1"; 
$Sections[] = "B.3.4.1"; 
$Sections[] = "B.3.4.2"; 
$Sections[] = "B.3.4.2"; 

//TR-114 
$Sections[] = "A.2.1"; 
$Sections[] = "A.2.2"; 

(あなたはコメントを無視して自由に感じることができるが、これは文字通りでした私が持っている問題は、私は

return $Sections; 

を行い、その後、任意のインデックスを参照しようとすると、私はそれが初期化されていないことについてエラーが出るということです

)を切断し、自分のコードから貼り付けます。私は

$return[] = $Sections; 

return $return; 

をすれば

はしかし、私は簡単にインデックスを参照することができています。

私はアレイのドキュメントを徹底的に読みましたが、なぜこれを行うのか分かりません。私はそれが動作することを知っている、私はちょうど理由を知りたい。

$ Sections配列が$ return配列に渡されると、インデックスが何らかの形で「リフレッシュ」または「更新」されるとしか仮定できません。

編集:これは内部で作成された配列を返す関数内にあることを忘れていました。私はあなたがそれはあなたがそれらを定義した方法ではありませんように動作しないことが、$Sections["B.2.4.1"]としてインデックスにアクセスしようとしている場合は、誰もが何return文とすべての

+0

インデックスで配列にアクセスしようとしたコードを表示してください。 –

+0

あなたはたぶん戻り値を間違って使用しているでしょう。関数を使用してコードを表示し、それが発生したエラーと行に注意してください。 – Wrikken

+0

エラーを生成する関数の外部にコードを投稿できますか? – Mike

答えて

3

で、そのかなり迅速に把握しているだろうと確信しています。 []構文を使用して配列に追加すると、数値インデックスが作成されます。

あなたの配列は、実際に数値インデックスを持つ配列の最後に追加各[]と、次のようになります。

$Sections[0] = "A.1.4.1"; 
$Sections[1] = "A.1.4.2.1"; 
// etc 
1

あなたは、あなたのコード内で一切のインデックスを指定していません。 []という表記法は、配列の最後のにという要素を挿入し、新しい数値インデックスを割り当てます。

関連する問題