【PHP】「stdClass」を関数の引数としての使い方について
以前 stdClass の使い方を以下の記事に記しましたが、今回はそれを関数の引数に使おうと思います。
⇒【PHP】連想配列の様な「stdClass」の使い方について
stdClass を引数にする場合には、どの様なプロパティを設定するのかは、前もって関数の呼び出し側と、関数内の処理を決めておく必要があります。
但し、引数が非常に多くなる場合には stdClass で渡すことですっきりした関数呼び出しにはなると思います。
以下のソースは stdClass を生成し3個のプロパティへを設定し、その内容を表示する簡単な例です。
3個のプロパティ値が表示されることが確認できます。
さらにもう一つの関数を宣言します。 この関数は、同じ引数を持つのですが各プロパティを再設定する様にしています。
これを実行すると以下の様な結果になります。
関数の引数としてクラスを渡すと、参照渡しで行われる様です。 参照渡しのため、クラスプロパティの値を書き換えることが出来ますので、注意が必要です。
また、 stdClass にプロパティが存在するかどうかをチェックし、処理を分けることも可能です。 上のソースに4番目のプロパティの存在有無で処理を分ける様にする処理を付加したものを以下に示します。
これを実行すると以下の様な結果になります。
⇒【PHP】連想配列の様な「stdClass」の使い方について
stdClass を引数にする場合には、どの様なプロパティを設定するのかは、前もって関数の呼び出し側と、関数内の処理を決めておく必要があります。
但し、引数が非常に多くなる場合には stdClass で渡すことですっきりした関数呼び出しにはなると思います。
以下のソースは stdClass を生成し3個のプロパティへを設定し、その内容を表示する簡単な例です。
3個のプロパティ値が表示されることが確認できます。
さらにもう一つの関数を宣言します。 この関数は、同じ引数を持つのですが各プロパティを再設定する様にしています。
これを実行すると以下の様な結果になります。
関数の引数としてクラスを渡すと、参照渡しで行われる様です。 参照渡しのため、クラスプロパティの値を書き換えることが出来ますので、注意が必要です。
また、 stdClass にプロパティが存在するかどうかをチェックし、処理を分けることも可能です。 上のソースに4番目のプロパティの存在有無で処理を分ける様にする処理を付加したものを以下に示します。
これを実行すると以下の様な結果になります。
コメント