簡體   English   中英

如何將txt文件中的內容獲取到數組中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM