ホームページ > バックエンド開発 > PHPの問題 > PHPにおけるオブジェクトと配列の違い

PHPにおけるオブジェクトと配列の違い

PHPz
リリース: 2023-04-19 10:06:15
オリジナル
139 人が閲覧しました

PHP では、オブジェクトと配列が 2 つの一般的なデータ型です。どちらもデータの保存に使用できますが、大きく異なります。この記事では、PHP におけるオブジェクトと配列の違いを簡単に紹介します。

1. 定義

PHP では、配列は一連のキー名と対応する値で構成される、順序付けられたデータのコレクションです。配列は、array 関数を使用するか、PHP 5.4 以降では [] 演算子を使用して作成できます。

$fruits = array("apple", "banana", "orange");
$animals = ["dog", "cat", "fish"];

そしてオブジェクトはメソッドとプロパティで構成されるインスタンスであり、クラスを通じて作成できます。

class Fruit {
public $name;
public function __construct($name){

<code>$this->name = $name;</code>
ログイン後にコピー
ログイン後にコピー

}
}

$apple = new Fruit("apple");

2. 配列の格納方法

Key値整数または文字列にすることができ、連続または不連続にすることもできます。ただし、オブジェクトはキー名として文字列のみを使用でき、属性名は一意である必要があります。

$fruits = ["1" => "リンゴ", "2" => "オレンジ"];
echo $fruits["1"]; apple

$apple = new Fruit("apple");
echo $apple->name; //出力 apple

3. 配列の特性

  1. (1) 追加、変更できます。要素を削除します。
$fruits = ["リンゴ"、"バナナ"、"オレンジ"];

$fruits[] = "梨";

$fruits[0] = "ブドウ";

unset($fruits[1]);

(2) 配列は多次元構造を持つことができます。

$fruits = [["apple", "red"], ["banana", " yellow"]];

echo $fruits[0][0]. " は " $fruits0; red

(3) 配列内の値は任意のデータ型にすることができます。

$fruits = ["apple", 2, true, ["banana"]];

echo gettype($fruits[0]) //出力文字列

echo gettype($fruits[1]); integer

echo gettype($fruits[2]); //出力 boolean
echo gettype($fruits[3]); //出力配列


オブジェクトの特徴

  1. (1) オブジェクトには独自のメソッドとプロパティがあります。
class Fruit {

public $name;

public $color;

public function __construct($name, $color){

<code>$this->name = $name;
$this->color = $color;</code>
ログイン後にコピー

}
public function info(){
<code>echo "This ". $this->name. " is ". $this->color;</code>
ログイン後にコピー

}
}

$apple = new Fruit("apple", "red");
$apple->info(); //出力 このリンゴは赤いです

(2) オブジェクトは継承可能です。

class Animal {

public $name;

public function __construct($name){

<code>$this->name = $name;</code>
ログイン後にコピー
ログイン後にコピー

}
}

class Cat は Animal を拡張します {
public function sound(){

<code>echo $this->name. " says meow";</code>
ログイン後にコピー

}
}

$cat = new Cat("Kitty");
$cat->sound(); //出力キティがニャーと言う

(3) オブジェクトはインターフェースを実装できます。

インターフェース Car {

public function setModel($model);

}


class Audi 実装 Car {
private $model;

public function setModel($model){

<code>$this->model = $model;</code>
ログイン後にコピー

}
public function getModel(){
<code>echo "The car model is ". $this->model;</code>
ログイン後にコピー

}
}

$audi = new Audi();
$audi->setModel("A4");

$audi->getModel(); //出力 車種はA4


4です。シナリオ

(1) 配列は、リスト、カレンダー、フォームなどの順序付けされたコレクションの格納に適しています。

(2) オブジェクトは、カプセル化による問題の解決や、継承やポリモーフィズムなどの技術による問題の解決など、問題を解決する必要があるプロセスに適しています。

(3) データベースのデータにアクセスすると、通常はオブジェクトまたは配列が返されます。オブジェクトを使用してオブジェクトのメソッドを呼び出してデータにアクセスし、配列を使用してインデックスまたはキー名によってデータにアクセスします。

5. まとめ

この記事では、PHP におけるオブジェクトと配列の定義、保存方法、特徴、使用シナリオについて簡単に紹介します。読者の皆様はこれらの違いを理解し、実際の開発のニーズに応じて適切なデータ型を選択できると思います。どのデータ型を選択する場合でも、プログラムの可読性と保守性を向上させるために、その合理的な使用に注意を払う必要があります。

以上がPHPにおけるオブジェクトと配列の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート