[PHP-users 20494]Re: PHP3とPHP4の違いについて
Seto
seto @ cii.gr.jp
2004年 2月 20日 (金) 15:40:47 JST
Setoです。
そもそも対応策は決められているようなので問題ないのですが、
後々の情報としてちょっと気になったので
>PHP3とPHP4では、
>配列の要素のcountが微妙にちがうということですね。
これ「count()」は同じで
問題なのは
PHP3では配列の添え字として存在しないキー$iを指定して
echo $testarry[$i]["AAA"];
とすると 配列に要素が追加されてしまうことだと思います。
簡単なテストコードと実行結果を載せます。
<?php
// php3 script
$testarray = array('0','1','2','3','4','5' );
echo count( $testarray );
if ( isset( $testarray['0'] ) ) echo 'aaa';
unset( $testarray['0'] );
if ( isset( $testarray['0'] ) ) echo 'bbb';
echo count( $testarray );
echo $testarray['0']['0'];
//echo $testarray['0']; では問題なし
echo count( $testarray );
if ( isset( $testarray['0'] ) ) echo 'ccc';
?>
結果
6
aaa
5
6 // この直前で追加されているらしい
ccc
#この現象は元の配列の次元?に関係なく発生します。
以上
PHP-users メーリングリストの案内