[PHP-users 22926]Re: クラスのメンバ変数の定義

hogehoge77 @ excite.co.jp hogehoge77 @ excite.co.jp
2004年 8月 2日 (月) 16:21:51 JST


吉村です。
yoshiさん、ご教授頂き、ありがとうございました。
$this->hogehoge をメンバ変数とみなしていたわけですか。
試しに以下のように変えてみたところ、$valueが外れました。

function printPulldown()
{
    $this->printSelect();

    foreach ($this->array as $key => $value) {
        print "<option value=\"$key\"";
        if ($this->selected) {
            if ($key == $this->selected) {
                print " selected";
            }
        }
        print ">$value</option>\n"; /* ここは渡す配列でコントロールするだけなので、別メソッドにするはやめました。
    }
    print "</select>\n";
}

メンバ変数って、こんな単純な取り決め(上記コメント部分)でコロコロ変わってしまっていいのでしょうか。。。
(きっと駄目なんだろうなあ。)
よく理解できていないようですね。。。

ちなみに以下のようにしてもメンバ変数は一緒ですよね。
どれがいけてて、どれがいけてないのかが良く分かっていないです。。。

    function printPulldown()
    {
        $this->printSelect();

        foreach ($this->array as $key => $value) {
            print "<option value=\"$key\"";
            if ($this->selected) {
                if ($key == $this->selected) {
                    print " selected";
                }
            }
            print ">";
            $this->printValue($value);
            print "</option>\n";
        }
        print "</select>\n";
    }

    function printSelect()
    {
        print "<select name=\"$this->name\">\n";
    }

    function printSelect($value)
    {
        print "$value";
    }

・・・もっと色々文献などをあさって勉強します。


PHP-users メーリングリストの案内