我对这段从 txt 文件读取订单号的代码几乎没有问题,然后将 1 添加到该数字上。但是,无论自动类型转换如何,PHP 都不会将这些数字相加......
$handle1 = fopen("ordernumbers.txt", "r");
$numberoforders = fgets($handle1);
$numberoforders = trim($numberoforders);
$orderid=$numberoforders+1;
echo $orderid;
回显$numberoforders时,返回数字 5(类型为字符串)
当回显$orderid时,它返回 1,而它应该给出 6。
我在这里看不到任何问题,它仍然不起作用。我还尝试将该变量类型从字符串更改为 int,然后将这些数字相加,但结果相同 (1)。
编辑:这是 TXT 文件的内容:https://i.stack.imgur.com/vzk5C.jpg
由于您的var_dump string(4) ''5''
存储在$numberoforders
中的字符串必须包含另外三个字符。
我怀疑换行符或类似的东西
因为$numberoforders被转换为整数并且其值为0,所以0 + 1 =1这就是您获得的输出。如果要将字符串的字符数添加到整数值中,则需要先计算字符串的长度。
你可以这样得到你的结果
$handle1 = fopen("ordernumbers.txt", "r");
$numberoforders = fgets($handle1);
$numberoforders = trim($numberoforders);
$numberoforders = strlen($numberoforders);
$orderid=$numberoforders+1;
echo $orderid;