PHP不能将标量用作数组警告问题

时间:2013-09-02 11:28:43

标签: php

我的网站上有一个问题我已经点击了一下:

$count = ("hits.txt"); 
$clicks = file($count);
if ($clicks > 5){$clicks = 0;}
$clicks[0]++;
$fp = fopen($count , "w");
fputs($fp , "$clicks[0]");
fclose($fp);

但我收到此消息:无法使用标量作为数组警告问题

1 个答案:

答案 0 :(得分:1)

哇 - 我不知道你的代码在这里发生了什么。

  • 为什么你的字符串用括号括起来? 它有效,只是奇怪
  • 为什么在单一条件行上使用括号? 您可以跳过括号
  • 为什么你的数组是引号,当它是变量时? 如果它是变量,请不要引用它
  • 为什么使用file来阅读文件而不是简单的文件阅读器? 使用fopenfile_get_contents或其他解决方案来简化从文本文件中读取数字

您的示例可以很容易地重写为以下内容:

<?php
    $count = (int)file_get_contents("hits.txt");
    file_put_contents("hits.txt", ($count > 10 ? 1 : $count + 1));
?>