PHP文件,具有多行数组和带值键

PHP文件,具有多行数组和带值键,php,Php,我有一些文件,其中有行,我想用一个键和一个值创建一个数组 例如,文件1有: thisisline = aline thisisalsoaline = oke whereiamaline = check file2 has thisisline = aline thisisalsoaline = oke whereiamaline = checker 我试图创造的结果是,但运气不佳:( 我试着用explode,但结果是 [0] => thisisline = aline 最终目标是有

我有一些文件,其中有行,我想用一个键和一个值创建一个数组

例如,文件1有:

thisisline = aline
thisisalsoaline = oke
whereiamaline = check

file2 has 
thisisline = aline
thisisalsoaline = oke
whereiamaline = checker
我试图创造的结果是,但运气不佳:(

我试着用explode,但结果是

[0] => thisisline = aline
最终目标是有2个文件与array_diff_key进行比较,这样我就可以识别iamaline=checker所在的行

谁能给我指一下正确的方向吗


谢谢你

你可以这样做

foreach(file("file1.txt") as $line) {
    $pieces = explode("=", $line);
//Do whatever you want to do with $pieces here. $pieces[0] and $pieces[1]
//Trim the values of $pieces too.
}
另一种方式是:

for each(file("file1.txt") as $line) {
$res[] = array_map('trim', explode('=', $line));
}

这一个将直接用每行的数组填充$res[]数组(被修剪)

您可以使用delimeter的
explode
功能来完成,如:

$finall_array = array();
$handle = fopen("file.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $le = explode("=",$line);
        $finall_array[$le[0]] = $le[1];
    }

    fclose($handle);
} else {
    // here goes error file opeping
}

然后只需像输出一样使用$final_数组

您的文件看起来像ini文件。php已经有了
parse_ini_file
函数,它将返回
key=>value
数组

接下来,正确的功能是:


因为
array\u diff\u key
返回第一个数组中的键,但不返回第二个数组中的键,这不是您的情况。

所以我将parse\u in\u文件与arra\u diff\u assoc一起使用,然后

<?php 
$file1 = parse_ini_file("master_manager.txt");
$file2 = parse_ini_file("master_manager1.txt");
echo "<pre>"; 
$myarray = array_diff_assoc($file1, $file2); 
foreach ($myarray as $key => $value){ 
echo $key." = ".$value."\n"; } 
echo "</pre>"; 

“我试过使用explode”向我们展示你是如何做到这一点的
函数将为你提供行。
explode
by
=
将为你提供数组。
parse_ini_文件
将两者兼而有之。我试过使用例如“``$file1=parse_ini_文件(“file2.txt”);$file2=parse_ini_文件(“file1.txt”);print_r(array_diff_key($file1,$file2));防止什么错误?您打开手册了吗?第三个参数可能有值
INI\u SCANNER\u RAW
/
INI\u SCANNER\u TYPED
$a = parse_ini_file('file1');
$b = parse_ini_string('file2');

print_r(array_diff_assoc($a, $b));
<?php 
$file1 = parse_ini_file("master_manager.txt");
$file2 = parse_ini_file("master_manager1.txt");
echo "<pre>"; 
$myarray = array_diff_assoc($file1, $file2); 
foreach ($myarray as $key => $value){ 
echo $key." = ".$value."\n"; } 
echo "</pre>";