如何:使用新的POSTED数据覆盖已定义的数组

时间:2011-02-17 18:35:03

标签: php arrays replace key overwrite

我将重新定义我原来无法回答的问题。凌乱Question'因为我求你的帮助。任何人......

我在文件(choices.php)中有一行:

some choice1...||other choice2...||some data here...||OVERWRITE ME! I AM OLD!

在另一个页面上有一个按钮 POST (并存储/保存)新数据到choices.php。此NewData必须覆盖某些文本($ arrkey [3])

我尝试了explode / implodefile_put_contents,我发现任何寻找答案的内容。但我能得到的远远不是NewData只是在该行的末尾添加了:

有些选择1 ... ||其他选择2 ... ||这里的一些数据... || OVERWRITE ME!我老了!我是新数据!

而不是:

有些选择1 ... ||其他选择2 ... ||这里的一些数据...... ||我是新数据!

1 个答案:

答案 0 :(得分:1)

如果我的问题正确,以下代码将按您的要求执行:

$entries = explode('||', file_get_contents('choices.php'));
$entries[3] = $_POST['myfield']; // You may want to do more strict checking before that.
file_put_contents('choices.php', implode('||', $entries));

顺便说一下,choices.php是个坏名字,因为该文件实际上并不包含任何PHP代码。但它不会阻止脚本工作。