PHPのget_class_vars()関数とは?クラスのデフォルトプロパティを取得する方法
PHPのget_class_vars()関数は、指定したクラスのデフォルトプロパティ(初期値が設定されたプロパティ)を取得するための関数です。この関数は、現在のスコープからアクセス可能な宣言済みプロパティとそのデフォルト値を、連想配列として返します。
構文
get_class_vars(name_of_class)
パラメータ
name_of_class − プロパティを取得したいクラス名を指定します。
戻り値
get_class_vars()関数は、現在のスコープから参照できる宣言済みプロパティとそのデフォルト値を格納した連想配列を返します。返される配列の各要素は「変数名 => 値」という形式になります。
なお、privateやprotectedで宣言されたプロパティは、呼び出し元のスコープからアクセスできない場合、結果に含まれない点に注意してください。
使用例
以下に、get_class_vars()関数を使用した具体的な例を示します。
<?php
class Demo {
var $myvar1 = "xy";
var $myvar2 = "abcd";
var $myvar3 = 7;
var $myvar4 = 20;
var $myvar5 = 90;
private $var4;
function Demo() {
$this->myvar1 = "ab";
$this->myvar2 = "cd";
return true;
}
}
$hello_class = new Demo();
$class_vars = get_class_vars(get_class($hello_class));
foreach ($class_vars as $name => $value) {
echo "$name = $value \n";
}
?>実行結果
上記のコードを実行すると、以下のような出力が得られます。
myvar1 = xy myvar2 = abcd myvar3 = 7 myvar4 = 20 myvar5 = 90
このように、get_class_vars()関数を使うことで、オブジェクトのインスタンス化後に変更された値ではなく、クラス定義時に宣言されたデフォルト値を取得できることがわかります。上の例では、コンストラクタ内で$myvar1と$myvar2の値が変更されていますが、出力には初期値である「xy」と「abcd」が表示されています。また、privateプロパティの$var4は外部スコープからは見えないため、結果には含まれていません。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのget_class_vars()関数とは?クラスのデフォルトプロパティを取得する方法
PHPのget_class_vars()関数は、指定したクラスのデフォルトプロパティ(初期値が設定されたプロパティ)を取得するための関数です。この関数は、現在のスコープからアクセス可能な宣言済みプロパティとそのデフォルト値を、連想配列として返します。構文get_class_vars(name_of_class)パラメータname_of_class − プロパティを取得したいクラス名を指定します。戻り値get_class_vars()関数は、現在のスコープから参照できる宣言済みプロパティとそのデフォルト値を格納した連想配列を返します。返される配列の各要素は「変数名 => 値」という形式にな