• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpで引き算が上手くいかない)

phpで引き算が上手くいかない

このQ&Aのポイント
  • データの引き算で書き出す際に予期しない数字になってしまって困っております。
  • data.datに10となっていた際に、下記のコードを実行すると90になってします。本当は9にしたいのですが、どこに原因があるのかわからずにおります。
  • どなたかご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

10の1が9に書き換えられて0が残っちゃいますね fseek($fp,0)した後にftruncate( $fp , 0 )したらいいでしょう

hunter_999
質問者

補足

ご回答ありがとうございます。 希望通りの結果が得られました。 大変感謝しております。 ちなみに$registry_count++;で増やしていく際には ftruncate( $fp , 0 )は必要になりますでしょうか?

その他の回答 (2)

回答No.3

役に立つかどうかはわかりませんが、 fgets()などをファイルから読み込んだ数値的なデータを扱うときに、 私は $registry_count = (int)fgets($fp,1024); というように 数値にキャストして、 逆に数値をファイルに書き込む場合はそれを文字列にキャストしています。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

>ちなみに$registry_count++;で増やしていく際には >ftruncate( $fp , 0 )は必要になりますでしょうか? 文字数が増える分にはファイルを切り詰める必要はないですね 元のファイルより短くなる場合に必須です

関連するQ&A