- 締切済み
変数の文字列を書き換えた時、メモリ上のアドレスは変わりますか?
変数の文字列を書き換えた時、メモリ上のアドレスは変わりますか? zval構造体上のエントリ、及び、実際のメモリにおけるアドレス、その両方についてお教え下さい。 // 例 <?php $a = 'aa'; $a = 'bb'; ?> 知りたい点は、メモリの節約や実行速度の観点で何らかの工夫が可能なのかどうかという事を考えるためヒントです。 ※「copy on write」に関しては理解しています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sasaki1985
- ベストアンサー率85% (6/7)
回答No.1
補足
回答ありがとうございます。 長らく気付きませんでして、申し訳ありませんでした。 > C++辺りから転向してきた方でしょうか? COBOLとCとJavaをかじってからPHPに流れ着いた者です。 > 結論から先に言うなら「$aが参照しているメモリのアドレスなら変わる」だと思います PHPでメモリのアドレスと言っても、ちょっとトンチンカンだったかもしれませんね。 スミマセン。 JavaですとStringに対してStringBufferのように、追記に配慮されたクラスが ありますが、PHPではどうしたもんかと思ったのがそもそもです。 > 変数管理回りを知りたいなら、参照URLにあるカテゴリ「PHP変数管理を理解する」などが参考になるかと。 そちらのサイト、質問をした当時、読んでました。 が、質問させて頂いた点は分からず・・・。