DAY 42 WEBサービス部-Lesson14 phpの型変換(キャスト)

dAY 42 WEBサービス部-Lesson14 – phpの型変換(キャスト)について 【ウェブカツ 】

PHP DAY 42 WEBサービス部-Lesson14 phpの型変換(キャスト)

Webサービス部 Lesson14 / 1.5hour

Sep / 10.5hour

Total / 112hour

 

phpは動的型付けをする言語

いきなり何を言っているのか分からない、という方もいると思います。僕も当初は「???」でした。

簡潔にまとめると、phpはこちらで変数を定義する時に「これは整数型」としなくても、代入される値を勝手に判断して、

「これは整数型だね、こっちは文字列型だね!」と型を定義してくれる、ということです。

 

$type = 1 //これは整数型だね!
$type2 = '1' //これは文字列型だね!

var_dump($type);
//int(1)

var_dump($type2);
//string(1)"1"

上記にあるvar_dump();の結果の[int]や[string]が、いわゆる”型”と呼ばれるものとなります。

こんな感じでphpくんは気を利かせて、型を勝手に定義付けしてくれています。

それはそれで便利なのですが、時にはこちらの意図しない型に変換をしてしまうこともあります。

 

こちらの意図としては「文字列型」だったのに、phpは「整数型」としてしまった・・・。

となるとバグやエラーの原因ともなります。

それを防ぐためにも、phpには「型の変換」ということが可能です。

 

Qiita

動的型付けと静的型付け プログラム言語では、2種類の変数や関数を扱うタイプが存在します。それが動的型付けと静的型付けです。 単純な考え方としては、コードを書くときに、プログラマが予め、変数や関数に「型」を決めて使うことを静的型付...[…]

phpの型変換(キャスト)について

例えば、php側では文字列とされてしまうものを整数型だよ、と変換したい場合

 

$type = "1"; //本来であればこれは文字列型としてphpに処理される

$change = (int)$type;  //$typeは整数型として処理してください!

var_dump($change) //int(1)

つまり、

(変換したい型)変数

とすることで、こちらの意図する型に変換することが出来ます。

変換できる型は下記の通りです。

 

  • (int), (integer) – 整数へのキャスト
  • (bool), (boolean) – 論理値へのキャスト
  • (float), (double), (real) – float へのキャスト
  • (string) – 文字列へのキャスト
  • (array) – 配列へのキャスト
  • (object) – オブジェクトへのキャスト
  • (unset) – NULL へのキャスト (PHP 5)

引用:https://www.php.net/manual/ja/language.types.type-juggling.php

 

もう一つサンプルとして、整数型を配列型にキャストした場合↓

$type = 1;

$change = (array)$type;  

var_dump($change) //array(1) { [0]=> int(1) }

キーが0、値が1として配列型に変換されました。

 

このように、時々phpはこちらが意図しない「型」に値を変換してしまうことがあります。

それをこちらの狙い通りの値にするにはキャストという手法で、型を変換することが可能です。

今後開発をする上でも、覚えておこうと思います。

 

学習は全てウェブカツ!!というプログラミングスクールで学んでいます。

プログラミングスクール「ウェブカツ!!」

大手スクール生徒や現役エンジニアが多数学び直している「実務レベル」に特化した「稼ぐ」ためのプログラミングスクール[…]

DAY 42 WEBサービス部-Lesson14 phpの型変換(キャスト)
最新情報をチェックしよう!