- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpで引き算が上手くいかない)
phpで引き算が上手くいかない
このQ&Aのポイント
- データの引き算で書き出す際に予期しない数字になってしまって困っております。
- data.datに10となっていた際に、下記のコードを実行すると90になってします。本当は9にしたいのですが、どこに原因があるのかわからずにおります。
- どなたかご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
10の1が9に書き換えられて0が残っちゃいますね fseek($fp,0)した後にftruncate( $fp , 0 )したらいいでしょう
その他の回答 (2)
- 錯雑 っち(@sakuzatchi)
- ベストアンサー率35% (174/492)
回答No.3
役に立つかどうかはわかりませんが、 fgets()などをファイルから読み込んだ数値的なデータを扱うときに、 私は $registry_count = (int)fgets($fp,1024); というように 数値にキャストして、 逆に数値をファイルに書き込む場合はそれを文字列にキャストしています。
- php504
- ベストアンサー率42% (926/2160)
回答No.2
>ちなみに$registry_count++;で増やしていく際には >ftruncate( $fp , 0 )は必要になりますでしょうか? 文字数が増える分にはファイルを切り詰める必要はないですね 元のファイルより短くなる場合に必須です
補足
ご回答ありがとうございます。 希望通りの結果が得られました。 大変感謝しております。 ちなみに$registry_count++;で増やしていく際には ftruncate( $fp , 0 )は必要になりますでしょうか?