class A extends B { public function __construct($config) { foreach ($config as $k => $v) { echo $k; var_dump(isset($this->$k)); if (isset($this->$k)) { $this->$k = $v; } } exit;class B { public $appid; public $templateId; public $api; public $accountSid; public $token; public $version;
Results of printing
Appidbool (False)
Templateidbool (False)
Apibool (False)
Accountsidbool (False)
Tokenbool (False)
Versionbool (False)
Isset ($this-$k) Why is False
Reply content:
class A extends B { public function __construct($config) { foreach ($config as $k => $v) { echo $k; var_dump(isset($this->$k)); if (isset($this->$k)) { $this->$k = $v; } } exit;class B { public $appid; public $templateId; public $api; public $accountSid; public $token; public $version;
Results of printing
Appidbool (False)
Templateidbool (False)
Apibool (False)
Accountsidbool (False)
Tokenbool (False)
Versionbool (False)
Isset ($this-$k) Why is False
Use Isset () to determine whether a nonexistent value or a variable with a value of NULL will return FALSE.
In base class B, only variables such as AppID are declared, and no specific values are assigned.