以下のように、huga2で生成された変数のみを
「すべて取り出して」huga1で再利用したいです
class hode{ static public function huga1(){ self::huga2(); //ここで、$str,$arr,$intなどを使いたい } static public function huga2(){ $str = 'aaa'; $arr = array('bb','cc'); $int = 9999; } }
以下のように変数を「指定」して、return + list で受け取れば期待する結果にはなると思いますが
huga2内で変数が増えた場合にreturn + listの変数の受け渡しを調整しなければいけないので
調整なしで「すべて受け渡す方法」が知りたいです
class hode{ static public function huga1(){ list($str,$arr,$int) = self::huga2(); //2.ここで$textを呼び出すには、都度return + listの調整が必要 } static public function huga2(){ $str = 'aaa'; $arr = array('bb','cc'); $int = 9999; //1.例えば新たにtextが増えた場合 $text = 'あああ'; return array($str,$arr,$int); } }
また、要望に近い機能で「get_defined_vars + extract」なんかも利用可能かななんて思うのですが
グローバル変数含めたすべての値も対象とのことで意図しないセキュリティリスクにならないか心配です
class hode{ static public function huga1(){ $arr = self::huga2(); extract($arr); //期待する動作に近いがこの方法はなんか怖い } static public function huga2(){ $str = 'aaa'; $arr = array('bb','cc'); $int = 9999; $text = 'あああ'; return get_defined_vars(); } }
よって前で出した二つの方法以外で
「huga2()」内で生成された変数をすべて取り出す方法を知りたいです
ご存知の方ご教授頂けますと幸いです
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 07:10