質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

2回答

3338閲覧

PHPでオブジェクトを扱うメリット

b3229211

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2014/11/20 05:37

限定的なシチュエーションになってしまいます。

文字列の入った配列をobjectにキャストして関数に引数として渡してるものを見ました。

object型はクラスを扱うときしか使ったことがないので、こういった使い方のメリットがわかりません。

おしえてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

stdClass型の特徴

  1. 初期化時以外のタイプ文字数が少ない
  2. 初期化時のタイプ文字数が多い
  3. 下層を初期化してから代入する必要がある
  4. 参照型として扱われる
  5. 処理可能な標準関数が少ない

配列型の特徴

  1. 初期化時以外のタイプ文字数が多い
  2. 初期化時のタイプ文字数が少ない
  3. 未定義の下層が暗黙的に初期化される
  4. 値型として扱われる
  5. 処理可能な標準関数が豊富

色々な書き方

lang

1$arr1['foo']['bar']['baz'] = 'A'; 2 3$arr2 = ['foo' => ['bar' => ['baz' => 'A']]]; 4 5$obj1 = new stdClass; 6$obj1->foo = new stdClass; 7$obj1->foo->bar = new stdClass; 8$obj1->foo->bar->baz = 'A'; 9 10$obj2 = (object)['foo' => (object)['bar' => (object)['baz' => 'A']]];

値型と参照型に関しては「<値型>と<参照型>、<値渡し>と<参照渡し>について実行例を出す(PHP編)」をご覧ください。


まあいずれにせよ、これがメリットとなるかデメリットとなるかは目的によって全然異なってくるので一概には言えません。

投稿2014/11/20 14:48

mpyw

総合スコア5223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

連想配列が自動的にプロパティに変換される(つまりクラス化される)ようですね。
http://php.net/manual/ja/language.types.object.php#language.types.object.casting

投稿2014/11/20 05:43

TaMaMhyu

総合スコア1356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問