PHP 5.4でテストして "未来校正"コードを使用すると、わかりませんが警告が表示されます。私の配列インデックスはどのように '不正な文字列オフセット'ですか?
function __clone() {
$this->changed = TRUE;
foreach ($this->conditions as $key => $condition) {
if (
$condition['field']
instanceOf QueryConditionInterface) {
$this->conditions[$key]['field'] = clone($condition['field']);
}
}
}
私が集中するコードの量を削減するために、独自の行に$condition['field']
を勃発。不正な文字列DatabaseCondition->__clone()
で'field'
オフセットそして私はちょうど「フィールドが」、オフセット違法文字列がどのように見ることができない。その特定の行について、PHPはこれが
警告を述べています。私はちょっとしたことが分からないと思っていますが、コミュニティが問題を見つけることができない場合は、バグレポートを提出します。
私はこの警告を「」と解釈しますが、「フィールドは有効なキー」と解釈されません。このエラーは、例えば私たちがキーとして配列を試してみたら意味をなさないでしょう。
コードレビューは作業コードを改善するためのものです。警告の意味についての具体的な質問は、そこで話題になっていません。 –
あなたは 'var_dump( '$ this-> conditions');'できますか? –
このエラーは、PHP 5.4でDrupalをインストールしているときにも発生します。http://drupal.org/node/1483986 PHP 5.4で何かが壊れていると思われます。または、おそらく 'field'は予約済みのPHPキーワードで配列には使用できません。私はPHPのバグに傾いています。このエラーはPHPの以前のバージョンでは発生しないことが報告されています。 – Brain2000