PHPでデータ型をキャストする方法を解説【初心者向け】
初心者向けにPHPでデータ型をキャストする方法について解説しています。PHPなどのスクリプト言語では型を指定しなければいけないわけではないのですが、データや値には型があります。文字列型や数値型などをキャストする方法について学びましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PHPでデータ型をキャストする方法について解説します。
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPでデータ型をキャストする方法について詳しく説明していくね!
お願いします!
データ型とは
PHPは動的型付け言語ですのであまり意識することはありませんが、データには型が存在します。
var_dump( )関数を使うとPHP内部で認識している型の情報が表示されますので見覚えがあるかもしれません。
整数を扱う int型(integer型)
実数を扱う double型 (float型、real型)
文字列を扱う string型
論理値を扱う bool型(boolean 型)
配列を扱う array型
オブジェクトを扱う object型
null値のみの null型
他にもいくつかありますがキャストで利用するのはこのくらいです。
データをキャストする方法
キャストとはデータ型の形式を別の方に変換することです。型の種類によって、キャストが不可能であったり、情報が欠落する場合があります。
それでは、いくつかの例を見てみましょう。
暗黙の型変換
$num = ‘123’ + 45; // 四則演算子を使うと整数や実数の数値型に変換します。’123′ は数値の 123 へ変換します。
$str = ‘123’ . 45; // 連結演算子を使うと string 型に変換します。45 は ’45’ へ変換します。
$bool = true && 0; // 論理演算子を使うと bool 型に変換します。0 は false へ変換します。
明示的な型変換
型の名前をカッコで括って値の前に置くことでキャストします。
$str = (string)123;
※明示的なキャストでは連想配列と stdClass の object を相互変換可能です。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
<?php error_reporting(E_ALL & ~E_NOTICE); // 暗黙の型変換は Notice メッセージが出るので抑止する $quantity = '3 個'; $price = '100 円'; $total = $quantity * $price; var_dump($quantity, $price, $total); $array = [ 'name'=>'taro', 'age'=>25 ]; $object = (object)$array; //連想配列から stdClass の object へのキャスト。 var_dump($array, $object); echo $object->name, PHP_EOL;
実行結果
string(5) "3 個" string(7) "100 円" int(300) array(2) { ["name"]=> string(4) "taro" ["age"]=> int(25) } object(stdClass)#1 (2) { ["name"]=> string(4) "taro" ["age"]=> int(25) } taro
この記事を監修してくれた方
大網 清和(おおあみきよかず ) プログラム歴は長く中学生の頃から始めて35年くらいになります。古くは BASIC、C、COBOLなどを経験し SQL を集中的に使っていた時期もあります。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。