クラス内のコンストラクタに変数の形で値を渡す方法
コンストラクタには複数の値を渡す必要があるため、毎回渡す値の数は次のとおりです値が渡されない場合は、スイートポテトでデフォルト値を構築するので、ここでは配列を使用してそれを渡します。 以下では、配列を implode で文字列に切り取り、「,」で接続しています。 "。渡した後に $host 変数に転送されるのはなぜですか? 結果は
です
ホスト:192.168.1.1,1212
ポート:80
つまり、ポストは $host に渡されますが、ポートはクラス内のデフォルトの
を使用したままになります。
<br /> class test{<br /> public function __construct($host="127.0.0.1",$port="80")<br /> {<br /> echo 'host:'.$host."<br>";<br /> echo 'port:'.$port;<br /> }<br /> <br /> }<br /> <br /> $data['host']='192.168.1.1';<br /> $data['port']='1212';<br /> $str=implode(',',$data);<br /> $obj=new test($str);<br />
<br /> host:192.168.1.1,1212<br /> port:80<br />