永久推送到数组的末尾

时间:2015-09-14 00:49:10

标签: php arrays

如何执行以下操作:

$x = array();
$x[] = '1';
$x[] = '2';

但它是否已永久添加到阵列中?

我知道如何尝试这样做:

  • 制作新的.txt文件;
  • 写例如:1~2~3;
  • 使用file_get_contents将其应用于变量$y;
  • 申请explode();
  • 现在我们可以做到:

x[] = y[0]; x[] = y[1]; x[] = y[2];

  • 将其添加到foreach循环中;
  • 然后以某种方式使用fwrite()或file_put_contents()?添加我想要添加到数组的变量,以便我们使用fwrite或其他东西添加到.txt文件中?

但我想知道最好的方法吗?

2 个答案:

答案 0 :(得分:1)

在您的阵列上使用serialize,将其转换为可写入文件的字符串

file_put_contents("myfile",serialize($x));

unserialize将字符串转换回数组

$x = unserialize(file_get_contents("myfile"));

如果您只需要将值附加到数组的最末端,则可以将file_put_contentsFILE_APPEND选项一起使用,这比将整个数组读入内存并将其写回内存要快磁盘

file_put_contents("myfile", "1\n", FILE_APPEND);
file_put_contents("myfile", "2\n", FILE_APPEND);

并使用file读取数组(默认使用\n作为分隔符)

$x = file("myfile");

答案 1 :(得分:0)

要“永久”保存任何内容,您需要某种持久存储。 txt文件可以工作,数据库,甚至cookie代码都可以工作,具体取决于你保存的内容。

file_put_contents()

MySQL