-2

Typeというクラスがあります。

class Type { ... }

次の名前のプロパティがあります$value

class Type {
    protected $value;

    //More code here...
}

関数を使おうとすると、オブジェクトを渡すときに、の値$obj->valueが渡されることを望みます。例えば:

$obj = new Type("value");
echo $obj; //Desired output: value

いろいろ試してみましたが、どこでも検索できませんでした。それも可能ですか?

前もって感謝します。:)

編集:多分あなたは私の質問を少し誤解した(または狭めた)。文字列だけでなく、すべての値型に必要ですint floatboolean

$obj = new Type(true);
echo !$obj; //Desired output: false

$obj2 = new Type(9);
echo ($obj + 1); //Desired output: 10
4

1 に答える 1

4

参照:Magic Methods

class Type {
  public function __toString() {
    return (string)$this->value;
  }
}

オブジェクトの使用が魔法を引き起こさない場合は、常に使用できます。

$someVar = (string)$obj;

更新

文字列または配列(ArrayAccessインターフェイスを参照)以外では、現時点では、事前定義されたデータ型などのオブジェクトをphpで処理することはできません。

于 2011-08-29T10:35:30.360 に答える