3
1

More than 3 years have passed since last update.

配列とオブジェクトの違いについて

Last updated at Posted at 2020-11-08

結論

配列オブジェクトでは、簡単に言うと書き方呼び出し方が違います。

配列 ( 連想配列 )

配列 = keyとvalueがセット
[ ]配列を宣言し、keyvalue=>(ダブルアロー演算子)で結ぶ。
呼び出しは、$array['key'];echoで表示させる。

$array = [ //配列$arrayを宣言
    "name" => "ワタナベ", //name(key)にワタナベ(value)を代入
    "number" => 1,
];

↓ 呼び出し

echo $array['name']; //ワタナベが表示される。

オブジェクト

オブジェクト = クラスの中にプロパティを宣言
{}クラスの宣言をし、new演算子インスタンス化をして値を持たせる。
new演算子 = インスタンスを作成する演算子
インスタンス化 = オブジェクトを作ること
呼び出しは、->(シングルアロー演算子)プロパティを指定

class Kazoku { //クラス名:1文字目は大文字
  public $name; //プロパティ:クラス内で使える変数を定義
  public $age;

  function __construct($name, $age){ //コンストラクター:プロパティに引数を代入
    $this -> name = $name; // nameプロパティ($this->name)に、渡ってきた引数($name)を代入している
    $this -> age = $age;
  }
}

$kazoku1 = new Kazoku("佐藤", "20"); //new演算子でインスタンス化(オブジェクト$kazoku1を作成)

↓ 呼び出し

echo $kazoku1 -> name; // $kazoku1の中にあるname(佐藤)が表示される。 

メリット

配列
データの追加や削除が容易に行える。
オブジェクト
プロパティと共にメソッドを設定できる。
数百の関数の中から目的の関数を探すのは大変です。
しかし、オブジェクトであれば関数はクラスに紐づいているため、対象のクラスから容易にアクセスや修正が行えます。

参考元はこちら
(https://coinbaby8.com/different-between-object-and-array.html)
(https://webukatu.com/wordpress/blog/4839/#i-2)
(https://qiita.com/riotam/items/cb5406daa9a1c6a694da)

3
1
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
3
1