[PHP-users 10568] Re: 謎が・・・

Masashi Ohba php-users@php.gr.jp
Fri, 04 Oct 2002 23:07:56 +0900


大場です。

#言われた通りにしたらできましたってのは
#「わからなかったら聞けばいいや」って
#スタンスに見えますよ?

In message "[PHP-users 10565] Re: 謎が・・・", Sato wrote...

>先頭行に
>$err_cnt = 0;
>を宣言??した結果、解決致しました。
>ありがとうございました。

なんで「$err_cnt = 0;」が無いと、
考えてるように動かないのか、考えました?

プログラムは思ったように動くんじゃなくて
書いたように「しか」動きませんので
「こう動かしたい」ってのは問題無いですが
「こう動く”はずだ”」というのは危険です。


>>> if ($err_cnt == 0) {

示されたコードは「0か1のいずれかが必ず入ってる」という
前提(あるいは思い込み)で書かれてます。
が、どこにも0を入れるという部分は無いわけです。

もし$err_cntに明示的に値が入らなかった場合
「0に等しい」という条件判断は正しく動くと思いますか?

では、「if ($err_cnt == 0)」と「if (!$err_cnt)」 では
意味と挙動がどう違うでしょう?

#参考にしてる本も丁寧に読んでください

--------------------------------------------------
Name  : 大場正志(Masashi Ohba)
E-mail: ohba@netforce.ne.jp
url   : http://www.netforce.ne.jp/~ohba
        コガネメキシコインコ飼ってます
Add   : Fukuoka-city, Japan