0

PHPコードに単純な間違いがありました:

$string += 'something' . $Car->id . ',';

その結果、Homestead と Forge で異なる動作が発生しました。

$string の結果:

0

フォージ結果:

エラー: 数値以外の値が見つかりました

誰もが理由を知っていますか? また、ホームステッドの動作をフォージと同じように変更するにはどうすればよいですか? それは絶対に良いです..


アップデート

私の質問が完全に明確ではなくて申し訳ありません。質問は.=ではなく+=という間違いそのものではなく、承知していました。

問題は、ある環境ではエラーが表示され、他の環境では表示されない理由です。

どちらの環境も同じように構成されています (php.ini):

error_reporting = E_ALL
display_errors = On

そして、それは単なる通知ではなく、エラーです。

4

3 に答える 3

2

あなたの問題は+=オペレーターによるものです。これは、文字列を連結しようとしているときに、数値を加算するために使用されます。

あなたが使用している必要があります.=

$string .= 'something' . $Car->id . ',';

または代わりに:

$string = $string . 'something' . $Car->id . ',';

Forge でこのメッセージが表示されるのは、PHP の警告がオンになっているように見えるためです。

于 2016-12-23T15:08:34.317 に答える
0

+=数値 (右の値) を変数の値 (左の値) に加算し、変数に格納します。

あなたのコード以来

$string += 'something' . $Car->id . ',';

には$string左の値があり、数字以外の文字が含まれているため、エラーが発生します。おそらく.=、文字列 (右の値) を変数の値 (左の値) に連結し、それを変数に格納することを意味していました。

于 2016-12-23T15:23:30.530 に答える