我目前正在尝试使用PHP来跟踪"喜欢"在我的网站页面上。我想做的是将所有信息放入一个数组,而不是每个页面的单独文件,每个文件包含一个整数。我尝试做的是设置一个包含此数组的文件(称为data.txt)。
$array = array(
"Page1" => 10,
"Page2" => 3,
);
例如,上面,Page1有10个喜欢而Page2有3个喜欢。 这是问题的真正含义:如何将上述数组写入文本文件,然后再从中读取?我试过的大部分方法只是简单地读出一个字符串,而这并不是我想要的东西(我希望能够轻松访问我想要的数字)直接喜欢一个数组)。
以下是var_dump
感兴趣的人:
array(2) { ["Page1"]=> int(10) ["Page2"]=> int(3) }
也许有某种方法可以将其解析回数组?
答案 0 :(得分:3)
根据Mark Baker的建议,您需要序列化数据以将其保存到文件中。稍后您可以读取它并将其反序列化为数组。方法如下:
<?php
// DISPLAY ARRAY BEFORE SAVING IT.
$old_array = array( "Page1" => 10,
"Page2" => 3,
);
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 )
并且,如果你打开&#34; my_file.txt&#34;你会看到这个:
a:2:{s:5:"Page1";i:10;s:5:"Page2";i:3;}