2015-09-21 26 views
0

我寫了一個程序來瀏覽日誌文件並將信息傳遞到一個ini文件,我試圖做一些PHP的工作,我有0經驗的PHP。PHP解析ini文件

我有一個包含像這樣的信息INI文件,

[76561197962467705] 
Username = ".buckisM" 
Suicide = 0 
bear.prefab = 0 
killed by fall = 0 
patrolhelicopter.prefab = 0 
wolf.prefab = 0 
Cold = 0 
Explosion = 0 
barricade = 0 
Player Deaths = 0 
Total Deaths = 0 
Kills = 2 

我使用PHP INI分析器和可以得到的ini打印到網頁。

$ini_array = parse_ini_file("myfile.ini", true); 
    print_r($ini_array); 

印刷陣列。 http://liveviewtest.byethost7.com/index.php

從我讀的parse_ini_file解析信息到一個多維數組,如果設置了true標誌。爲什麼不能使用括號訪問數組元素?

echo $ini_array[0][0]; 
+0

你想從這個數組中取數據' –

回答

1

因爲你得到的實際上是一個字典,它是一個無序數組。您不能通過數字索引來訪問該結構的每個元素,因爲它使用ini文件中定義的鍵索引。你解決它像

$ini_array['76561197988912576']['username'] 

可以循環使用foreach循環

foreach($ini_array as $key=>$value) { 
    echo ($value['username']); 
} 

或者你可以把你的字典成索引陣列因爲在這種情況下,「array_keys」

$ini_array = array_keys($ini_array); 
echo $ini_array[0]['username']; 
+0

你有沒有辦法循環通過它? ini文件不斷增長,數量不斷變化。 – Mishap

0

你有hash字符串鍵。例如,如果你想從中得到陣列的第一Username你可以試試這個代碼:

var_dump($ini_array['76561197988912576']['Username']); 

我希望它能幫助。