ホームページ > バックエンド開発 > PHPチュートリアル > destruct は間違っています。いつ実行されますか?

destruct は間違っています。いつ実行されますか?

WBOY
リリース: 2016-06-23 13:32:20
オリジナル
983 人が閲覧しました

1. マニュアル:
スクリプトが実行され、PHP ヘッダーが送信されたときに実行します。

<?php class  Test{    public $a="---";        public function ccc(){        echo "1";    }        function __destruct(){        echo $this->a;    }    }$a = new Test();$a->ccc();$a = new Test();$a->a='===';$a->ccc(); ?> 
ログイン後にコピー


スクリプトの終わりなので、実行します。
結果は次のとおりです。 = 1 1 の代わりに
--- ===


ディスカッションへの返信 (解決策)

__destruct はデストラクターであり、オブジェクトが破棄されるときに実行されます

18 行目 $a = new Test();
16 行目 $a = new Test(); の場合、オブジェクト $a が破棄されます (新しい値が割り当てられるため)
18 行目を $a = 123; に変更すると、よりわかりやすくなります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート