gpt4 book ai didi

Php 使用 unserialize() 和 serialize() 更改已保存文件中的值

转载 作者:可可西里 更新时间:2023-11-01 00:11:43 26 4
gpt4 key购买 nike

我有一个保存到文件的序列化值数组,需要更改其中一个变量的值。在示例中,我更改了 $two 的值,然后使用新值将整个数组保存回文件中。

是否有一种更有效的方法可以仅更改单个值而无需读取和写入整个文件/数组。

$data = file_get_contents('./userInfo');

$data = unserialize($data);
extract($data);
$two="this is a altered value";

$userData = array(
'one' => $one,
'two' => $two,
'three' => $three
);

$file=fopen("../userInfo",'w');
fwrite($file, $userData);
fclose($file);

最佳答案

您不需要像那样使用 extract() 重建 $userData - 只需访问您需要的数组键。此外,您可以使用 file_put_contents() 来节省几个步骤。

This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.

新代码:

$filePath = './userInfo';

$data = unserialize( file_get_contents( $filePath ) );

$data['two'] = "this is a altered value";

file_put_contents( $filePath, serialize( $data ) );

关于Php 使用 unserialize() 和 serialize() 更改已保存文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2686191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com