[PHP-users 129] Re: 論理値変数以外の論理評価
T.P.S. 中川
php-users@php.gr.jp
Wed, 20 Jun 2001 11:56:36 +0900 (JST)
パイプ喫いの中川です。
重松さんが
06月20日09時57分に発信された
「[PHP-users 125] 論理値変数以外の論理評価」こと
<000701c0f924$0767dcc0$cb00a8c0@haunet.ocn.ne.jp>より
> それは、論理値以外の値を持つ変数を論理評価した場合の動作です。
>
> register() のなかで、
>
> if($thing){
> $this->pt[$thing] = true;
> }
>
> のように、文字列変数 $thing を論理評価しています。
これと逆の PHP の評価方式に、昨日はハマってしまいました。
Perl の感覚で、(もし $brand_etc に値がセットされていれば
それを、値がセットされていなければ $brand を) $data['brand']
にセットしようとして
$data['brand'] = $brand_etc || $brand ;
と書いたんです。
|| 演算子を通過した段階で boolean になってしまって、$brand の値の
いかんにかかわらず $data['brand'] には 1 が代入されてしまうのですね。
改めて if 文で書きなおしました。面白い現象だったので報告致します。
========================================================================
静中成友 塵裡偸閑 多而不厭 寡而為足 Koh-Jittoku yori
--
中川 恒雄 ( T.Nakagawa ) mailto:yaemon@alles.or.jp
http://www.alles.or.jp/~yaemon/