作者forwardwith (小橘子)
看板PHP
標題[請益] array 呼叫問題
時間Mon Oct 1 19:35:11 2007
各位大大~~~~
麻煩幫幫忙 我找了很久 一直try 都還是不知道問題在哪~~~
----------------------------------------------------------------
我要將一個csv檔裡的資料 用一個二維array存起來
我設此array變數是 $trainData
而假設csv裡的資料是
1,2,3,4,5,6,7,8,9,10,11
12,13,14,15,16,17,18,19,20,21,22
我希望
$trainData[0][1] = 1
$trainData[0][2] = 2
$trainData[0][3] = 3
.
.
.
.
$trainData[1][0] = 12
$trainData[1][1] = 13
.
.
.
於是我就這樣寫
------------------------------------------------
1 $row=1;
2 $j=0;
3 while ($data = fgetcsv($fp,1000, ",")) {
4 $num = count($data);
5 for ( $c=0; $c<$num; $c++ ) {
6 $trainData = array($j => array($c => $data[$c]));
7 echo ($trainData[$j][$c]."<BR>");
8 }
9 $row++;
10 $j++;
11 }
12
----------------------------------------------------------
我發現第7行print出來 是我要的那個樣子
但是只是一出for那個迴圈呼叫 echo $trainData[0][2]; (隨便取一個有的數)
它都會告訴我
Notice: Undefined offset: 0
這樣跟本就不能用此變數啊..........
有哪位大大知道是為什麼嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.233.81.186
推 LPH66:你在while之前寫上$trainData=null;試試 10/01 19:42
→ LPH66:我猜是scope的問題... 10/01 19:42
→ forwardwith:還是不行耶.... 一樣的回應 10/01 19:48
→ forwardwith:我怎麼想都想不透為什麼會這樣~ 請大大幫幫忙~ 10/01 19:49
推 forwardwith:還是很謝謝你~~~ :) 10/01 20:34