メシのタネ

めしのたねになるIT情報配信サイト


PHPの変数の型とか

,

  1. Webプログラム
  2. PHP
  3. PHPの変数の型とか

今はだいぶコードが読める様になってきました。
プログラムもぼちぼち書けるようになってきて、

Web案件があると開発に混ぜてもらってます。

去年の今頃は始めてたてで全然良くわかんなかったPHPですが

今はぼんやりとですが掴めてきました。
なので、今日は初心に返って変数について書きます。

型の種類

PHPが用意してる型の種類は、大きく分けて3種類
スカラー型と複合型と特別な型があります。
スカラー型で4種類、複合型で2種類、特別な型が2種類になります。
なので細かく分けると8種類になります。

スカラー型に分類される型

スカラー型とは常にひとつの値を持っている型を指します。
そのスカラー型に分類されるのが、
論理値、整数、浮動小数点、文字列の4種類です。

論理値とは

条件分岐でよく使われる、真偽であらわされる値です。
真ならtrue、偽ならfalseです。

文字列

変数とかを型つきで出力すると、stringと返ってきます。

”か””で文字を囲むと文字列型として出力されます。

浮動小数点

小数点以下の値を持つ数値です。

整数

10進数、16進数、8進数、2進数(PHP5.4から)をそれぞれとして解釈し表記できます。

PHPは桁数とかあんまり気にしなくても大丈夫っぽいです。数字はintegerです。

複合型

複数の値を格納できる変数で、
配列とオブジェクトの2種類があります。

配列

array()で作成できる型です。他にも方法はありますが、ここでは触れません

実際はマップ型です。キーと値を関連付けることができます。

オブジェクト型

クラスをインスタンス化して作成します。
オブジェクトはテレビでインスタンスはリモコンです。

特別な型

NULL

変数が値を持ってないとnullになります。

リソース型

外部リソースへリファレンスを保持してる変数です。
専用の関数を使うことで作成されたり使われたりします。
ここに一覧があります。

勘違いしてたこと

変数に入った値は全部型が一緒だと最初思ってました。
たとえば、文字列の1と整数の1は意味が違います。

よって完全一致で聞いた時には、偽の処理があれば偽の処理をします。
条件分岐ができなくてイライラした事もありましたが、今は元気です。

型まで定義したい時

変数を整数として扱いたい場合や、

文字列として扱いたい場合があると思います。

#c言語と同じ様に動作します。

$foo = 1; //整数
$foo = $foo + 2.2 //float

$foo = 10; //整数
$bar = (boolean)$foo; //bool

#他にも利用可能なキャストがあります。

(int) //整数にキャスト
(string) //文字列にキャスト
(array) //配列にキャスト
(object) //オブジェクトにキャスト
(unset) //nullにキャスト


以上、豆知識でした。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

PHP
魔王と行く! / Interface / Polymorphism / Ontology 深淵ガイドNew!!
Laravel
Laravel 12、「コード 1 行も書き換えず未来へ」──静かな革命の手順書New!!
Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみたNew!!
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体New!!
Laravel
LaravelのサービスコンテナとDI、「書いてるだけで動く」コードの正体
Laravel
Laravelのアーキテクチャ、実は誰もわかってない説