PHP の文法要件は厳密ではないため、文字列も配列として使用できるため、問題が発生します。文字列内のコンテンツにアクセスするキーとして数値以外を使用すると、次のコードのような不一致が発生する可能性があります
1 $hello = "こんにちは" ;
2 var_dump( $hello [ 'abc' ]);
3 var_dump( $hello [ '0' ]);
5 var_dump($hello ['12abc']);
結果:
'h'
'h'
'e'
''
出力結果は言いません、あなた理由は intval にあると思います。時間の関係で zend コードを確認しませんでしたが、次のコードの実行結果ページにはいくつかの問題が示されています
1 var_dump( 'abc ' ));
2 var_dump( intval ( '0' ));
4 var_dump( intval ( '12abc' ));関数の戻り値が適切に設計されていない場合、関数を使用する前に、戻り値が配列であるかどうかを判断する必要があります。そうでない場合は、このバグのせいになります