350 of 410 menu

__issetメソッド

__issetメソッドはPHPのマジックメソッドであり、オブジェクトのプロパティの存在をisset関数またはempty関数で確認しようとした際に、そのプロパティがアクセス不能または存在しない場合に呼び出されます。このメソッドは1つのパラメータ、確認対象のプロパティ名を受け取ります。

構文

public function __isset(string $name): bool

__issetマジックメソッドを持つクラスを作成します:

<?php class User { private $data = [ 'name' => 'John', 'age' => 30 ]; public function __isset($name) { return isset($this->data[$name]); } } $user = new User(); var_dump(isset($user->name)); var_dump(isset($user->email)); ?>

コード実行結果:

true false

動的プロパティでの使用:

<?php class DynamicProperties { private $storage = []; public function __isset($name) { return array_key_exists($name, $this->storage); } public function __set($name, $value) { $this->storage[$name] = $value; } } $obj = new DynamicProperties(); $obj->test = 'value'; var_dump(isset($obj->test)); var_dump(isset($obj->unknown)); ?>

コード実行結果:

true false

関連項目

  • アクセス不能なプロパティを読み取る際に呼び出される__getメソッド
  • アクセス不能なプロパティに書き込む際に呼び出される__setメソッド
  • アクセス不能なプロパティを削除する際に呼び出される__unsetメソッド
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否