ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

リファレンス渡し

PHPの無名関数とクロージャは同じ扱い。元々そう思ってる人は多いけど。

php

PHPでは無名関数とクロージャは同じものとして扱っています。無名関数の返すオブジェクトはClosureクラス。

これを見てもちがいはありません。

PHP公式ドキュメントを見ても、無名関数の説明の大半はクロージャについてで、無名関数のことを『クロージャ』と表現する箇所が多いです。

続きを読む

PHP, クラスオブジェクトのリファレンスは無意味。もともと参照渡しだから。

php

PHPにはリファレンス(参照)というポインタのようなものがあります。クラスオブジェクトにも使えるんですが意味がありません。

クラスオブジェクトの変数代入は参照渡しで、それはリファレンスと同じ動きだから。関数のパラメータでも同じ。

ただリファレンスとオブジェクト代入の内部のしくみは全くの別物。

続きを読む

PHP, 変数のリファレンス(参照)ってポインタとは違うんだ。C, C++ができる人は要注意。

php

PHPの変数には、C, C++などのポインタ変数と同じ動きをする変数があります。リファレンス(参照)と言います。

これ、ポインタをPHPに実装してるんだと思いがちですが、しくみはまったくちがう。

かくいうボクもCから出発した人間で、なぜか何度も勘違いしてしまう。

続きを読む