【发布时间】:2014-01-14 21:01:24
【问题描述】:
我有一个“你是什么性格”的测验网站,该网站是用 PHP 构建的,用于作业。我还需要存储有多少人获得了 5 个可能的字符中的每一个。
我有一个只有文本的文本文件 - 0 0 0 0 0
每个 0 是一个计数器,用于计算某人选择特定角色的次数。
我把它分解成一个数组
$txt = "results2.txt";
$scores = file_get_contents($txt);
$editablescores = explode(",", $scores);
然后根据某人收到的分数,我想将 +1 添加到数组中适当的 0。
这是我正在使用的示例,但它不起作用。出现以下错误。注意:未定义的偏移量:4 in /Users/sinclaa3/Sites/PHPStyles/hi.php on line 53
0 0 0 0 0 被显示,但随后 1 被添加到它上面。 0 0 0 0 0 1
if ($score < 6 ) {
$editablescores[0]++;
//0 denotes the position in the array that I want to add one to
};
$storablescores = implode(",", $editablescores);
file_put_contents($txt, $storablescores);
【问题讨论】:
-
"用 PHP 构建的用于作业的网站" 所以你要求我们为你做功课?
-
您可以使用数据库而不是文本文件吗?这应该会大大简化事情。
-
“不起作用”是什么意思?“不起作用”不足以让我们理解问题。当你尝试它时发生了什么?你收到错误信息了吗?你得到不正确的结果吗?您得到 no 结果了吗?如果结果不正确,是什么导致它们不正确?你期待什么?你得到任何正确的结果了吗?如果是这样,它们是什么?不要让我们猜测。
-
@PatrickQ:用户寻求家庭作业帮助并没有错。
-
好吧,它一次可以为 1 个用户工作,但是如果没有锁定,它非常容易受到竞争条件的影响。添加锁定(并遭受将导致的等待),或使用其他存储选项:数据库(sqlite 似乎是一个选项)、memcached 等,以及可能为您修复锁定和原子操作的其他存储选项。
标签: php arrays add storing-data