微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用PHP读写数组?

我目前正在尝试使用 PHP来跟踪我网站页面上“喜欢”的数量.我想要做的是将所有信息放入一个数组,而不是每个页面的单独文件,每个文件包含一个整数.我试图做的是设置一个包含这个数组的文件(称为data.txt).

$array = array(
    "Page1" => 10,"Page2" => 3,);

例如,上面,Page1有10个喜欢而Page2有3个喜欢.
这是问题的真正含义:如何将上述数组写入文本文件,然后再从中读取?我尝试过的大部分方法都只是简单地读出一个字符串,而这并不是我想要的(我希望能够轻松地直接访问数组喜欢的数组).

这是感兴趣的任何人的var_dump:

array(2) { ["Page1"]=> int(10) ["Page2"]=> int(3) }

也许有一些方法可以将其解析回数组?

解决方法

正如Mark Ba​​ker所建议的那样,您需要序列化数据以将其保存到文件中.稍后您可以读取它并将其反序列化为数组.方法如下:

<?PHP

// disPLAY ARRAY BEFORE SAVING IT.    
$old_array = array( "Page1" => 10,);
echo "OLD ARRAY" .
     "<br/><br/>";
print_r( $old_array );

// WRITE ARRAY TO FILE.
$old_data = serialize( $old_array );
file_put_contents( "my_file.txt",$old_data );

// READ ARRAY FROM FILE.    
$new_data = file_get_contents( "my_file.txt" );
$new_array = unserialize( $new_data );

// disPLAY ARRAY TO CHECK IF IT'S OK.
echo "<br/><br/>" .
     "NEW ARRAY" .
     "<br/><br/>";
print_r( $new_array );

?>

这是你应该在屏幕上看到的:

OLD ARRAY

Array ( [Page1] => 10 [Page2] => 3 )

NEW ARRAY

Array ( [Page1] => 10 [Page2] => 3 )

而且,如果你打开“my_file.txt”,你会看到:

a:2:{s:5:"Page1";i:10;s:5:"Page2";i:3;}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐