php __tostring と tostring

WBOY
WBOYオリジナル
2016-06-23 14:36:151020ブラウズ

原文:

質問: 内容は同じですが、前にある 2 つの特殊なアンダースコアは、同じクラス内の 2 つのメソッドを意味するのでしょうか。

function __toString(){        return $this->content; }//输出字符串 function toString(){        return $this->content;}

答え:

違いは、前者は文字列値が必要なオブジェクト型変換を実行するために自動的に呼び出されるという点です。コード内で明確にする必要があります。

class MyClass{    public function __toString()    {        return 'call __toString()';    }    public function toString()    {        return 'call toString()';    }}$my = new MyClass();echo $my . '<br />'; //自动调用(隐式)__toString转成stringecho $my->toString() . '<br />'; //调用(显式)toString去转成stringecho $my->__toString() . '<br />'; //如果这样调用, 代码会不好看echo (string)$my . '<br />';

__toString() は、文字列に変換する必要があるときに暗黙的かつ自動的に呼び出されます。これも Java からのものです。 コードが重複しないように __toString() を呼び出してください。

より転載: Single Party Education の BLOG.PHP - toString() 。 http://blog.sina.com.cn/s/blog_569767bf01000c37.html

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。