PHPのinstanceofが何かと簡単なサンプルコードで解説
15 回閲覧されました
みなさんこんにちは、jonioです。
今回はinstanceofが何かと簡単なサンプルコードで解説します。
Laravelの無料学習サイトを作りました
Laravelを勉強したい人向けの無料の学習サイトを作りました。
ここからリンクに飛べますのでぜひ利用してください。
instanceofとは
簡単に言うと特定のクラスの変数かを調べる為の演算子です。
コードの書き方は下記になります。
$object instanceof クラス名
簡単なサンプルコードで理解を深めます。
サンプルコード
下記のコードで考えます。
<?php
class Product {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
function printProductName($item) {
if ($item instanceof Product) {
echo "商品名: " . $item->name;
} else {
echo "これは商品ではありません";
}
}
$product = new Product("りんご");
$notProduct = "ただの文字列";
printProductName($product); // 商品名: りんご
printProductName($notProduct); // これは商品ではありません
18行目でインスタンスを生成した時に5行目〜7行目のコンストラクタが動作します。
11行目〜15行目で引数に対してinstanceofを使っています。
18行目はProductクラスのインスタンスなので12行目が動作します。
それに対して19行目はProductクラスのインスタンスではないので14行目が動作します。
こんな感じで使います。