[英]how to get the content from a txt file into an array
出於某種原因,我想將鍵和值從關聯數組中分離出來,並從 txt 文件中讀取它們:
以下是我所擁有的
// translations
$lang = array(
'All Articles' => 'Alle Artikelen',
'Page' => 'Pagina',
'from' => 'van'
);
現在我想這樣改變它:
$lang = array(
file_get_contents("translations.txt"); // read the associative array
);
和translations.txt
只包含:
'All Articles' => 'Alle Artikelen',
'Page' => 'Pagina',
'from' => 'van',
這不起作用。 當它們存儲在上面的 txt 文件中時,我如何讀出鍵/值對?
這可能很危險。 它將執行文件中的代碼。
eval(
'$lang = array('.
file_get_contents("translations.txt"). // read the associative array
');'
);
echo '<pre>';
var_dump($lang);
Output:
array(3) {
["All Articles"]=>
string(14) "Alle Artikelen"
["Page"]=>
string(6) "Pagina"
["from"]=>
string(3) "van"
}
這是不可能獲取文件內容並直接分配給數組的。 您需要解析文件,提取行然后提取鍵和值。
$str = file_get_contents("translations.txt");
$lang = [];
foreach (explode("\n", $str) as $line)
{
if (strpos($line, '=>') === false)
{
continue;
}
list($key, $value) = explode('=>', $line);
$lang[trim($key,'\' ')] = trim(trim($value), '\',');
}
通過使用基於explode
( \n
)的分解提取行。
if (strpos($line, '=>') === false)
是用於避免空行錯誤的控件(通常是文件結尾)
甚至更好地使用 json 文件:
翻譯。json
{"All Articles":"Alle Artikelen","Page":"Pagina","from":"van"}
和 php 代碼:
$lang = json_decode(file_get_contents(public_path('lang.json')), true);
var_dump($lang);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.