将php关联数组写入文本文件

qlckcl4x  于 2023-02-15  发布在  PHP
关注(0)|答案(6)|浏览(107)

我想将mysql_fetch_assoc(返回关联数组)值写入文本文件,但我想以如下方式获得输出

ID => 17
CODE => 4
Value => 59559

它就像下面这样打印出来

17
4
59595
25
0

这就是我目前用来得到结果的代码,有人能帮我吗

$query = "CALL pro_details($ID, '$start', '$end', $limit, $pos);";
        $result = mysql_query($query, $con);
        $myFile = "debug.txt";
        $fh = fopen($myFile, 'w') or die("can't open file");
        while($stringData_2 = mysql_fetch_assoc($result)){
                foreach ($stringData_2 as $string) {
                    fwrite($fh, $string);
                    $stringbreak = "\n";
                    fwrite($fh, $stringbreak);
                }
                $stringbreak = "----------------\n";
                fwrite($fh, $stringbreak);
        }
        fclose($fh);
2exbekwf

2exbekwf1#

将您的fwrite()调用更改为:

foreach ($stringData_2 as $key=>$string) {
    fwrite($fh, $key ." => ".$string);
    $stringbreak = "\n";
    fwrite($fh, $stringbreak);
}
eqzww0vc

eqzww0vc2#

不如试试

foreach ($stringData_2 as $index => $string) {
    fwrite($fh, $index.'=>'.$string);
    $stringbreak = "\n";
    fwrite($fh, $stringbreak);
}
yruzcnhs

yruzcnhs3#

在foreach循环中,可以同时获取数组的键和值

foreach($variable as $key => $value) {
    // so that u can print both the keys and values
    $key ---> ID,code,Value
    $value ---> 12,4,59559
}

http://php.net/manual/en/control-structures.foreach.php

v64noz0r

v64noz0r4#

while($stringData_2 = mysql_fetch_assoc($result)){
               array_walk( $stringData_2 'displayData');

        }

...

function displayData($item, $key)
{
     fwrite($fh, "$key." => " . $item . "\n");
}
xytpbqjk

xytpbqjk5#

你可以这样解决

while($stringData_2 = mysqli_fetch_assoc($result)){
    foreach ($stringData_2 as $key=>$string) {
         fwrite($fh, $key.'=>'.$string);
         $stringbreak = "\n";fwrite($fh, $stringbreak);
    }
   $stringbreak = "----------------\n";
   fwrite($fh, $stringbreak);
}
lsmd5eda

lsmd5eda6#

使用序列化和反序列化怎么样?

$array["key1"]="value1";
 $array["key2"]="value \"with\" quotes";
 $array["key3"]="value3";

 $tx=serialize($array);
 echo "<LI>serialized:".$tx;

 $test=unserialize($tx);
 foreach($test as $k=>$v) echo "<LI>rebuilt array:[$k] = [$v]";

退货

serialized:a:3:{s:4:"key1";s:6:"value1";s:4:"key2";s:19:"value "with" quotes";s:4:"key3";s:6:"value3";}
rebuilt array:[key1] = [value1]
rebuilt array:[key2] = [value "with" quotes]
rebuilt array:[key3] = [value3]

因此,您可以执行以下操作:

file_put_contents($fn, serialize($array1));
.
.
.
$array2=unserialize(file_get_contents($fn));

相关问题