读取文本文件并在PHP中的变量中分配密钥对值



我想读取文本文件,并将左侧变量分配给右侧值。我可以正确读取文本文件中的值,但不能回声$ variable1。

文本文件:

variable1="value91";
variable2="value92";
variable3="value93";
variable4="value94";
variable5="value95";

尝试的代码:

$myfile = fopen("/var/myfile", "r");
while (!feof($myfile)) {
    $line = fgets ($myfile);
    echo "$line<br/>";
}
fclose ($myfile);

此打印行值并可以解析,但是如何用值分配键,以便每当使用:

问题:

echo $variable1; which will print "value91"?

,如果无法动态使用文件,请在读取文本文件后,将值分配给变量1,variable2也肯定很好。

如果有错误,则道歉。我没有很长一段时间没有写PHP。类似以下内容(基于我对使用数组的评论):

$myfile = fopen("/var/myfile", "r");
while (!feof($myfile)) {
    $line = fgets ($myfile);
    $lineA = explode("=", $line);
    $data[$lineA[0]]=$lineA[1];;
}
fclose ($myfile);

使用爆炸将线的键和值分解为数组。

然后添加到新的 $data数组中的键/值对。

现在关闭文件后,您可以根据键将值算出:

echo $data["variable1"];

应该回声value91

您可以使用字符串作为分配目标的能力,所以...

<?php
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
$lines = file('data.txt', FILE_IGNORE_NEW_LINES);
foreach ( $lines as $line ) {
    $data = explode("=", $line);
    $varName = $data[0];
    $$varName = $data[1];
}
echo $variable1;

请注意,分配使用$$ varname,因此使用第一列作为变量的名称。

此输出 -

"value91"

最新更新