看板 PHP 關於我們 聯絡資訊
剛寫了一個程式,有問題的片段如下 while(!feof($fp)){ $data = fgets($fp) ; $newdata = split(";",$data) ; echo "<tr>" ; foreach($newdata as $key => $value){ $value = mysql_escape_string($value); if($key == '2' or $key == '4' or $key == '8' or $key == '10' or $key =='11' or $key == '18'){ continue ; }elseif($key =='6'){ $newdata[19] = "$newdata[6]" ; continue ; }elseif($key == '19'){ echo $newdata[$key] ; } echo "<td>$value</td>" ; } echo "</tr>" ; } 上述在 $key == 6 時將 $value 存入陣列 $newdata[19] 的位置 但在判斷 $key == 19 時,用 echo $value 是沒有東西的 一定要用 echo $newdata[19] 才有東西 不知道我的問題出在那呢?煩請指正,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.8.51
taiwancat:你在迴圈跑完之後print_r整個陣列 就知道問題在哪嚕 06/28 17:52
linmic:沒道理你回答路人都比較有禮貌阿...(/‵Д′)/~ ╧╧ 06/28 20:54
taiwancat:= = 06/28 20:57
gamewolf:把 print_r 放到 foreach 結尾處,可以看到每次key,value 06/29 08:57
gamewolf:的變化,在key=6時,的確看到了newdata[19]的值被改變了 06/29 08:58
gamewolf:一直到foreach整行結束,newdata[19]的值還是我給定的 06/29 08:58
gamewolf:newdata[6]的值,但到key=19時,value出來還是沒東西 ToT 06/29 08:59
gamewolf:唔,剛在想是不是foreach自己存一份$newdata,用自己這份 06/29 09:14
gamewolf:在做key,value動作。果然,改用參考的方式就 ok ...Orz 06/29 09:15