
PHPバージョンを5.6から7.1に上げた際、WordPressテーマでエラーが発生しました。
Warning: A non-numeric value encountered in /example.com/wp-content/themes/lotus_tcd039/functions/repeater.php on line 71
ソースコードは下記のように配列をカウントして連想配列の値に+1したものを入れるというものなのですが
$field_count = count($ml_repeater_fields['fields']); // デフォルト値 $default_field = array( 'name' => 'repeater-'.$field_count + 1, // for label/headline 'id' => 'repeater-'.$field_count + 1, // for id and name // 中略 );
'repeater-'.(int)$field_count + 1,
と変更しても治らず。
(float)や(string)も試したのですが変わりませんでした。
そもそもcountした後の$filed_count
は何型なんだ?と思い確認したらint型。
int型に+1してなぜエラーが起きるんだ、と思いながら、最終的には下記のようにcountした時点で+1したらエラーは解消したのですが
$field_count = count($ml_repeater_fields['fields']) + 1; // デフォルト値 $default_field = array( 'name' => 'repeater-'.$field_count, // for label/headline 'id' => 'repeater-'.$field_count, // for id and name // 中略 );
演算する位置の違いでエラーが発生する原因は何でしょうか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/19 00:55