21
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PHP】オブジェクトと連想配列の違い

Posted at

スクール時代に配列、オブジェクトの概念はそれとなく理解していたつもりでしたが、
実務の中で配列、連想配列について考える事が多く、特に【連想配列】についての理解があまりなかったので、自分向けに簡単にまとめて見た。

オブジェクトと連想配列

これがオブジェクト。

index.php
class object{
    public $name = "サトシ";
    public $age = 30;
}

オブジェクトはオブジェクト名を書いて、 { } の中に値を入れます。
オブジェクトの中には変数や関数を書く事が出来ます。また、変数のことをプロパティと呼びます。

そして↓が連想配列ですね。

index.php
$array = [
    "name" => "カスミ",
    "age" => 29,
];

keyとvalueが => ダブルアロー演算子(ハッシュロケット)で組み合わさっています。

オブジェクトと連想配列の使い方

index.php
class object{
    public $name = "サトシ";
    public $age = 30;
}
 
//オブジェクトをnewする
$object = new object;
 
//オブジェクトの中身を表示
dd($object);
 
//オブジェクトは -> で
echo $object->name;

オブジェクトの呼び出しについては、アロー演算子からのプロパティを指定することで、呼び出すことができます。

index.php
$array = [
    "name" => "カスミ",
    "age" => 29,
];
 
//連想配列の中身を表示
dd($array);
 
//keyは [] で呼び出す
echo $array["name"];

この時点で全然使い方が違いますね。

実務の中では連想配列を配列に、連想配列をオブジェクトに、と、
状況に応じて使い分けがよく発生するので、また別の記事で変換の仕方についてもまとめたいと思います。

21
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?