[PHP-users 26325] Re: 「Uninitialized」エラーについて

T.Sasaki papasan2000 @ excite.co.jp
2005年 7月 29日 (金) 09:22:59 JST


佐々木です。

通知メッセージ(E_NOTICE)として
「Uninitialized string offset: (n)」
を出力しているのは Zend Engine (libZend) の内部処理だけです。

何をしているかというと、あるパラメータについて、
 ・data type が STRING ではない。
 ・STRING データの offset 値 < 0
 ・STRING データの offset 値 >= STRING データ長
の何れかを満たすとき、同メッセージを生成してから
同パラメータの
 ・STRING データに空文字列("")
 ・STRING データ長に 0
をセットします。

この箇所は PHP-4.1.2 、PHP-4.3.11 とも変わりません。
また、Zend Engine 内部で多用されています。
ですから、利用元の関数(ext 以下など)が変更されれば
バージョン間で異なる結果が出る可能性はありますね。

警告ではありませんから心配する必要はないと思えます。
気になるようでしたら、ご自身が作成された変数について、データ型や
初期化が行われているか等のチェックをしてみてください。
何か気付くことがあるかも知れません。


PHP-users メーリングリストの案内