我想阅读文本文件并将左侧变量指定给右侧值。我可以正确读取文本文件中的值,但不能回显$ 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"?
如果不能动态地使用文件,我可以在读取文本文件之后静态为variable1,variable2赋值。
答案 0 :(得分:1)
如果这有错误,请道歉。我好久没写PHP了。类似下面的内容(基于我对此使用Arrays的评论):
$myfile = fopen("/var/myfile", "r");
while (!feof($myfile)) {
$line = fgets ($myfile);
$lineA = explode("=", $line);
$data[$lineA[0]]=$lineA[1];;
}
fclose ($myfile);
使用explode将行的键和值分解为数组。
然后将新的$data
数组添加到爆炸中的键/值对。
现在关闭文件后,您可以根据密钥输出您的值:
echo $data["variable1"];
哪个应该回显value91
答案 1 :(得分:1)
您可以使用将字符串作为赋值目标的功能,因此......
moment(yourDateObject).format("YYYY-MM-DD[T]HH:mm:ss.SSS")
请注意,赋值使用$$ varName,因此它使用第一列作为变量的名称。
此输出 -
<?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;