結論
配列とオブジェクトでは、簡単に言うと書き方と呼び出し方が違います。
配列 ( 連想配列 )
配列 = keyとvalueがセット。
[ ]で配列を宣言し、keyとvalueを=>(ダブルアロー演算子)で結ぶ。
呼び出しは、$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)