为什么每次执行此代码时都会在 a.txt 中添加两个指向数字:
<?php
function substr_unicode($str, $s, $l = null) {
return join("", array_slice( preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY) , $s, $l) );
}
function statusRead() {
$statusfile = file_get_contents('a.txt');
// for detecting and removing BOM (0xEF,0xBB,0xBF)
$statusfile = ord($statusfile[0]) == 239 ? ord($statusfile[1]) == 187 ? ord($statusfile[2]) == 191 ? substr_unicode($statusfile, 1) : $statusfile : $statusfile : $statusfile;
$statusfile = str_replace("\r",'',$statusfile);
$statusfile = explode("\n",$statusfile);
foreach ($statusfile as $a) {
$a = explode(":",$a);
if($a[0]) $temp[$a[0]] = @$a[1] ? $a[1] : null;
}
return $temp; // changed: (($statusfile = $temp; return $statusfile;)) to ((return $temp;))
}
function statusUpdate($data) {
$temp = '';
foreach ($data as $a => $b) {
$temp .= "$a:$b\r\n";
}
file_put_contents('a.txt', $temp);
}
$a = statusRead();
$a['number']++;
statusUpdate($a) ;
?>
这是 a.txt :
的内容stop:0
number:5
dor:3
a['number']++
每次在 a.txt 中添加两个指向数字,并且当使用a['number'] += 2
时将<4>点添加到数字< / strong>在 a.txt
更新:我将$temp .= "$a:$b\r\n";
更改为$temp .= "$a :$b\r\n";
,我的数据保存在此结构中:
stop :0
number :6
dor :3
number :1
但为什么?
答案 0 :(得分:0)
我有两个关于chrome的扩展,它正在解决这个问题。
1- Web服务器通知程序
2- Web技术通知程序
禁用这两个扩展后我的问题解决了。
我从这个页面找到了答案: php mail duplicates