0

私はそのようなコードを持っています:

public function setValue($flag) {
  $this->value = isset($flag) ? (bool) $flag : null;
}

$flag は、null、false、または true のいずれかを示すことができると思います。(私が型キャストを行う理由は、型だけに関心があるからです。)

編集:これは私の目標です:

  • $flag が null の場合、$this->value は null です。
  • (bool)$flag が false の場合、$this->value は false です。
  • (bool)$flag が true の場合、$this->value は true です。

これは私のコードが言うことです。そして、私が提出したコードは私の目標を達成するための良い方法ですか、それともより良い (よりシンプルでエレガントな) コードがあるのでしょうか?

4

2 に答える 2

1

編集

私はあなたの編集を読んだところです。あなたのコードが機能している場合は、その方法が便利できちんとしているので、すでに行っている方法でそれを続けてください。唯一のことは、isset最初に確認することです。

$this->value = null;
if(isset($flag)) {
    setValue($flag);
}

public function setValue($flag) {
  $this->value = (bool) $flag
}
于 2013-03-23T18:56:09.617 に答える
0

値が。の場合は、がisset返されます。また、によってチェックする必要がありますfalseNULLis_null

于 2013-03-23T18:54:28.620 に答える