PHP 更新文件中的值

PHP updating a value in a file

我有一个 PHP 脚本和一个文件。该文件仅包含“8”。我需要使用 PHP 脚本将此值更新为“9”(或任何值,只需将文件中的内容增加 1)。

目前我有一个如下所示的文件:

<?php
file_put_contents("numberFile", file_get_contents("numberFile")[0]++);
?>

这应该将它从第一行读取的内容 + 1 写入文件。但是它不起作用。有更好的方法吗?

$content = file_get_contents('numberFile');
if (isset($content))
{
    $number = intval($content);
    file_put_contents('numberFile', ++$number);
}

未经测试,但我怀疑这与您想要的东西很接近,如果不是完全一样的话。 :)

如评论中所述,不要试图在一行中完成所有操作,分解代码以提高可读性。

看起来你正在做的事情会奏效,但你必须非常小心。

file_get_contents returns a string, not an array of strings (you could use file)。

您还可以 index a string as an array, and you can use operators 字符串。

// This should print '3'
$text = '3
';
echo $text[0] . "\n";

// This should print '3' too
$text = '33';
echo $text[0] . "\n";

// This should be '4'
echo $text[0] + 1 . "\n";

// What about this ?
$text = '9';
// Now it rolls to two digits. What then ?

Demo

正确的方法是使用 intval.

整个 字符串转换为数字