##結論
配列
とオブジェクト
では、簡単に言うと書き方
と呼び出し方
が違います。
配列 ( 連想配列 )
配列
= 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)