2011-03-11 75 views
0

我正在從excel文件中讀取這種格式的數據。然後我將它轉換爲數組。 現在我想執行計算。我嘗試了很多次,但沒有成功。由於使用與數組有關的問題

example 
L*M 100*200 
L*H 100*300 

0   1  2 
UserData  
Length 100  L 
Width 200  W 
Height 300  H 
AdminData  
L*W Result 
L*H Result 
W*H Result 
Total TotalRest 

數組結果的print_r()

Array 
(
    [0] => Array 
    (
     [0] => UserData 
     [1] => 
     [2] => 
    ) 

[1] => Array 
    (
     [0] => Length 
     [1] => 100 
     [2] => L 
    ) 

[2] => Array 
    (
     [0] => Width 
     [1] => 200 
     [2] => W 
    ) 

[3] => Array 
    (
     [0] => Height 
     [1] => 300 
     [2] => H 
    ) 

[4] => Array 
    (
     [0] => AdminData 
     [1] => 
     [2] => 
    ) 

[5] => Array 
    (
     [0] => L*M 
     [1] => 
     [2] => 
    ) 

[6] => Array 
    (
     [0] => L*H 
     [1] => 
     [2] => 
    ) 

[7] => Array 
    (
     [0] => W*H 
     [1] => 
     [2] => 
    ) 

[8] => Array 
    (
     [0] => Total 
     [1] => 
     [2] => 
    ) 

陣列功能

$arrResult = array(); 

/////////////Open the csv file which contains data////////////// 

$handle = fopen("data.csv", "r"); 
if($handle) { 
///////Put the data in an array/////////// 
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {  
$arrResult[] = $data; 
} 
fclose($handle); 
} 
+1

看樣子你忘記添加你的問題。 – deceze 2011-03-11 05:40:46

+0

你可以添加你的數組請 – 2011-03-11 05:40:58

+0

不知道你想要做什麼。我猜這個數組不是你想要的方式?你應該分享你想要的結果,以及你正在嘗試的代碼。另外,讀取CSV文件的時間可能會更簡單,您可以將excel電子表格輕鬆保存爲CSV – 2011-03-11 05:41:56

回答

0
$var = array(

    array('UserData'), 

    array('Length', 100, 'L'), 

    array('Width', 200, 'W'), 

    array('Height', 300, 'H'), 

    array('AdminData'), 

    array('L*W'), 

    array('L*H'), 

    array('W*H'), 

    array('Total') 
    ); 

echo "<pre>"; 

print_r($var); 

echo "</pre>"; 

$var[5][1] = $var[1][1]*$var[2][1]; 

$var[6][1] = $var[1][1]*$var[3][1]; 

$var[7][1] = $var[3][1]*$var[2][1]; 

echo "<pre>"; 

print_r($var); 

echo "</pre>"; 
+0

謝謝,但可以使用循環。因爲如果用戶添加更多的AdminData或添加更多的用戶數據。無論如何感謝 – 2011-03-11 06:00:01

+0

@ user449744然後你必須爲用戶循環'for($ i = 0; $ i <= $ somval; $ i = $ i + 7)'和$ i + 5 for 5,$ i + 6 for 6和等等 – 2011-03-11 06:07:25