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