PHP匿名オブジェクトの文字列を連結する奇妙な動作

デイビス-バーナード

たぶん誰かがこのanonオブジェクトで奇妙な振る舞いを説明するのを手伝うことができます:

$equipTest = (object) [
  $leakageLimit = "",
  $description = "",
  $location = "",
  $text = "",
 ];
$description = "";

次のループでは、$leakageLimit問題なく値を割り当てることができます。

$equipTest->leakageLimit = $temp; 

しかし$location、エラー/通知なしでそれに連結させません:

$equipTest->location .= $temp; 

結果:

注意(8):未定義のプロパティ: stdClass::$location

$equipTest->descriptionループの外で一時変数を宣言するまではそうだったループ内の一時的な説明に次の値を割り当てました。

$description .= $temp; 

そして、ループの最後に次のようにしてオブジェクトに割り当てます。

$equipTest->$description = $description;

この匿名オブジェクトに連結できないのはなぜですか?完全に宣言されたクラスの一部としてそれを持っていたときは、以前は問題ありませんでした。

u_mulder

このコード

[
  $leakageLimit = "",
  $description = "",
  $location = "",
  $text = "",
]

という意味ではない

4つの名前付き要素で配列を作成し、それぞれを空の文字列で初期化します。

その意味は

空の文字列を変数に割り当てた結果として、4つの数値インデックス付き要素の配列を作成し、すべての要素の値を設定します。

そして、割り当ての結果は、割り当てられている値、つまり-空の文字列です。

だから、もしあなたが

print_r([
  $leakageLimit = "",
  $description = "",
  $location = "",
  $text = "",
]);

4つの空の値を持つ配列が表示されます。そしてまた、あなたの変数は$leakageLimit$description$location$text空の文字列に設定されます。

したがって、4つの名前付きプロパティを持つオブジェクトを作成する場合、コードは次のようになります。

$equipTest = (object) [
  'leakageLimit' => "",
  'description' => "",
  'location' => "",
  'text' => "",
];

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数オブジェクトを作成するときの奇妙なテンプレート文字列の動作

分類Dev

匿名オブジェクトと定数列を使用したLINQtoSQLの奇妙な動作

分類Dev

文字列とオブジェクトの連結を禁止する

分類Dev

JavaScriptオブジェクトで奇妙な動作をするSetInterval

分類Dev

文字列連結中の奇妙な動作を強調する

分類Dev

このオブジェクトをこの静的配列に追加する奇妙な動作

分類Dev

PHP:オブジェクト型を配列にキャストした後の奇妙な配列の動作

分類Dev

PHP DateTimeオブジェクトでの奇妙な(?)動作

分類Dev

Vueのオブジェクトの配列からオブジェクトを削除するときの奇妙な動作

分類Dev

Thymeachでth:eachのオブジェクトの文字列を連結する

分類Dev

ベクトルの動きで奇妙な動作をするオブジェクト

分類Dev

さまざまなタイプのオブジェクトを文字列に連結する(Python)

分類Dev

奇妙なnull文字列の連結動作

分類Dev

2つのオブジェクトをJUnitと比較すると奇妙な動作が見られる

分類Dev

-COMオブジェクトから変数を設定するときのErrorActionの奇妙な動作

分類Dev

テーブルビューで検索結果オブジェクトを削除した後の奇妙な動作

分類Dev

Javascript:オブジェクトキーとの一致を妨げる連結文字列の余分な文字

分類Dev

文字列を配列の各オブジェクトに連結します

分類Dev

Javascriptでオブジェクトをキーとして使用するときの奇妙な動作

分類Dev

オブジェクトをスケーリングするときの非常に奇妙な動作

分類Dev

オブジェクトをスケーリングするときの奇妙な動作

分類Dev

ラムダ式でオブジェクトを変更する際の奇妙な動作

分類Dev

別のオブジェクトの変数からオブジェクトの変数を設定するときの奇妙なPythonの動作

分類Dev

2つのオブジェクトを文字列連結するための式ツリーを作成する

分類Dev

Javascript:文字列をオブジェクトに連結する方法は?

分類Dev

奇妙な結果を与えるJSONオブジェクトの更新

分類Dev

hasOne関係のnullオブジェクトの奇妙な動作

分類Dev

オブジェクトでのSelect2の奇妙な動作

分類Dev

奇妙な動作をするPHPセッション、現在のオブジェクトが_sessionに表示されます

Related 関連記事

  1. 1

    関数オブジェクトを作成するときの奇妙なテンプレート文字列の動作

  2. 2

    匿名オブジェクトと定数列を使用したLINQtoSQLの奇妙な動作

  3. 3

    文字列とオブジェクトの連結を禁止する

  4. 4

    JavaScriptオブジェクトで奇妙な動作をするSetInterval

  5. 5

    文字列連結中の奇妙な動作を強調する

  6. 6

    このオブジェクトをこの静的配列に追加する奇妙な動作

  7. 7

    PHP:オブジェクト型を配列にキャストした後の奇妙な配列の動作

  8. 8

    PHP DateTimeオブジェクトでの奇妙な(?)動作

  9. 9

    Vueのオブジェクトの配列からオブジェクトを削除するときの奇妙な動作

  10. 10

    Thymeachでth:eachのオブジェクトの文字列を連結する

  11. 11

    ベクトルの動きで奇妙な動作をするオブジェクト

  12. 12

    さまざまなタイプのオブジェクトを文字列に連結する(Python)

  13. 13

    奇妙なnull文字列の連結動作

  14. 14

    2つのオブジェクトをJUnitと比較すると奇妙な動作が見られる

  15. 15

    -COMオブジェクトから変数を設定するときのErrorActionの奇妙な動作

  16. 16

    テーブルビューで検索結果オブジェクトを削除した後の奇妙な動作

  17. 17

    Javascript:オブジェクトキーとの一致を妨げる連結文字列の余分な文字

  18. 18

    文字列を配列の各オブジェクトに連結します

  19. 19

    Javascriptでオブジェクトをキーとして使用するときの奇妙な動作

  20. 20

    オブジェクトをスケーリングするときの非常に奇妙な動作

  21. 21

    オブジェクトをスケーリングするときの奇妙な動作

  22. 22

    ラムダ式でオブジェクトを変更する際の奇妙な動作

  23. 23

    別のオブジェクトの変数からオブジェクトの変数を設定するときの奇妙なPythonの動作

  24. 24

    2つのオブジェクトを文字列連結するための式ツリーを作成する

  25. 25

    Javascript:文字列をオブジェクトに連結する方法は?

  26. 26

    奇妙な結果を与えるJSONオブジェクトの更新

  27. 27

    hasOne関係のnullオブジェクトの奇妙な動作

  28. 28

    オブジェクトでのSelect2の奇妙な動作

  29. 29

    奇妙な動作をするPHPセッション、現在のオブジェクトが_sessionに表示されます

ホットタグ

アーカイブ