2012-07-02 29 views
0

我有一個文本文件列表:如何使用key = value將文本列表轉換爲PHP關聯數組?

Alabama  
Alaska  
Alberta  
... 

,我想有一個PHP數組那樣:

array('Alabama' => 'Alabama', 'Alaska' => 'Alaska', ...) 

我怎麼能有這樣的陣列? (我是PHP和一般計算的初學者)。 非常感謝

+0

你想要做什麼,讓這個數組從一個文本文件動態生成,還是一次性的任務,你將保存爲PHP以備後用? –

+2

相同的鍵和值似乎毫無意義。 – 2012-07-02 21:28:33

回答

0
// read the file as an array of lines 
$lines = file('./myFile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 

// fill the array 
$arr = array(); 
foreach($lines as $line) { 
    $arr[$line] = $line; 
} 
2

您可以使用file()讀取整個文件到一個數組中,並使用array_combine()指定數組鍵。

$arr = file('file.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); 
$arr = array_combine($arr, $arr); 
+0

非常酷的想法。謝謝@flowfree!我希望我可以投你的帖子兩次:-) –

-1

你實際上可以將文件讀入數組中。

$states=require('path/to/states.php'); 

然後在states.php文件

return array(
    'Alabama' => 'Alabama', 
    'Alaska' => 'Alaska' 
    // and so on. 
); 

你將不得不格式化您的列表,但應該使用正則表達式用文本編輯器是很容易的。

+0

這根本不適用於我。我使用PHP5.3。 –

+0

你的文件是否包含數組? – jarchuleta

相關問題