[PHP-users 5820] Re: PHP 4.0 / 4.1 の isset() の相違
Yasuo Ohgaki
php-users@php.gr.jp
Sun, 03 Mar 2002 11:50:51 +0900
> 細いことですが、 $arr['foo']['bar'] という要素は
> 定義されていないので、どのような文字であれ、文字
> を指すこと自体が間違いです。
PHPではNULL String、FALSE、0、NULLに自動変換します。
(type juggling)
このため、論理値のtransitivityが保てなくなる場合があるので、
注意が必要になる場合がまれにあります。
> PHP だと未定義文字列/要素は、空文字( "" )になるの
> が通常でしょうか。
文字列コンテクストの場合のcatができるように、未定義の文字列は
E_NOTICEエラーを発生させ、NULL Stringに変換されます。
<?php
$str1 = 'ABC';
$str2 = $str . $str1; // 'ABC'
?>
PHPではかなりいい加減(?)なプログラミングが許されていますが、
変数の初期化の省略、省略にすると不明瞭になるオプション値(PostgreSQL
のコネクション等)などはすべて明確に定義する事をお奨めします。
--
Yasuo Ohgaki
yohgaki@dd.iij4u.or.jp
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/