\ Pinterest はじめました /

【PHP入門】プログラミング基礎学習 – データの型を理解する!

プログラミング基礎学習 - データの型を理解する!PHP

PHPのプログラミング基礎や基本を学びたい!という初心者向けに分かりやすく解説して行きたいと思います。

この記事では、PHPのプログラミング基礎にフォーカスして学習できるようにまとめていきます。3回目になる今回は、データ型について学んでいきましょう。

PHPのプログラミング学習では、1度だけ読んですべて理解するのは難しく、大切な基礎の理解を深めるためには繰り返し読み直していただければ良いと思います。

初心者の方にとってPHPのプログラミングの学習に役立てて頂けれたらうれしく思います。

環境概要

この記事でご説明する方法は、以下のパソコンで進めた内容になります。
ご自身と環境が違うことで、挙動が変わる場合があります。

PCスペック
  • OS:Windows 10 Home 64 ビット
  • CPU:Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 CPUs), ~2.0GHz
  • GPU:Intel(R) UHD Graphics 620
  • メモリー:16GB

また、この記事内容では、以下の開発環境が前提となります。

前提条件
  • パソコンに「XAMPP」をインストール済み
  • パソコンにテキストエディタ「VSCode」をインストール済み

インストールがまだの場合は、以下からインストールをしましょう!

PHPのプログラミング基礎学習 – データの型を理解する!

PHPのプログラミング基礎学習の3回目は「データの型」について説明していきます。

過去シリーズは、以下のリンクよりご覧になってください。

では、学習を始めましょう!

データの型とは?

PHPの変数についての説明で少し触れましたが、数値(3600)や文字列('これは文字列データです')使いました。これらそれぞれにはPHPで扱えるデータの型がありますので、詳しく説明していきます。

データの型とは、要約すると「データの性質」のことをいい、このデータの型によって扱い方が違ってきます。

例えば、「echo 10 * '文字列です';」という違うデータ型同士の掛け算の場合、演算として正常に機能しません。(PHPにおいては、Warningの警告が発生する)このように、型が違う者同士は同様な扱い方はできないのです。

コンピュータは、いろいろなデータを使いますが、それぞれのデータの使い方を認識し判断するためには、データの型という仕組みがあります。

プログラミングにおいてデータの型は重要になります。データ型の性質を理解することで、正確なコードが書けるようになります。ただしPHPにおいては、データの型は宣言しなくてもPHPが自動的に判別(暗黙的な型変換)してくれるためデータ型の宣言が必要ではありません。

といいつつも、データの型の概念は重要になりますのでしっかりと理解していきましょう!

PHPのデータの型

PHPのデータの型は以下の通りになります。

  • 文字列型(string:ストリング)
  • 整数型(integer:インテジャー)
  • 浮動小数点数型(float:フロート|double:ダブル)
  • 論理型(boolean:ブーリアン)
  • 配列型(array:アレイ)
  • オブジェクト型(object:オブジェクト)
  • Null(null:ナル)

文字列型(string:ストリング)

<?php
    $string1 = 'これは文字列型です';
    $string2 = "これも文字列型です";
    echo $string1;
    var_dump($string2);
?>

まずは、「文字列型(string)」です。

PHPでは、文字列は非常に重要な役割になり、多くのデータはこの文字列で表わされます。というのも、画像や映像以外のデータのやり取りは文字データ(文字列型)になるのです。

インターネットやSNSで、検索や投稿などもWebの世界では主に文字データが使われてますよね。普段このようなことを考えることはないですが、思い返してみるとそうだなと気付くと思います。

文字列型は「'」(シングルクオーテーション)または、「"」(ダブルクオーテーション)で文字を囲むことで文字列型としてコンピュータは認識します。

$string1$string2 は文字列型の「テキスト」が変数に代入されています。echoはデータを表示するので、$string1に代入された値「これは文字列型です」が表示されますが、var_dump()を使用することで、データ型などさまざまな情報が確認できるようになります。

sample.php を上記の書き換えて、ターミナルでファイルを実行して確認してみてください。

var_dump($string2);とするとstring(27) "これも文字列型です"と表示されます。表示内容としては、データ型(テキストバイト数)"文字列"になります。これ例では、テキストバイト数が27と表示されていますが、日本語の場合、1文字が3バイトになり、これも文字列型ですは9文字なので27バイトになります。ちなみに、英数字の場合は、1文字が1バイトになります。

整数型(integer:インテジャー)

<?php
    $numbar = 3600;
    var_dump($numbar);
?>

次に、「整数型(integer)」です。整数型は、3600などの整数値のことです。

文字列型の時と同じように、var_dump()を使用することで、データ型が確認できます。var_dump($numbar);とすると、int(3600)と表示されます。文字列型と表示が少し違いますが、データ型(数値)と表示されます。

実際にコードを書き換えて、ターミナルからファイルを実行してください。

php sample.php // phpファイルを実行するコマンド

浮動小数点数型(float:フロート)(double:ダブル)

<?php
    $pi = 3.14;
    var_dump($pi);
?>

次に、「浮動小数点数型(float)」です。3.141.23などの算数や数学に学んだ小数点と同じです。

var_dump($pi);とすると、float(3.14)と結果が表示されます。こちらは整数型と同じく、データ型(数値)と表示されます。

論理型(boolean:ブーリアン)

<?php
    $a = true;
    $b = false;
    var_dump($a);
    var_dump($b);
?>

ここまでで出てきた、「文字列型」、「整数型」、「浮動小数点型」などはテキストや数字なので、なんとなく理解しやすかったと思いますが、ここから徐々にプログラミング感を感じるデータ型の1つで、「論理型(boolean)」があります。

とはいってもシンプルで、論理型の値は2つだけしかなく、trueの(真)かfalseの(偽)だけとなります。

truefalseは用途は、制御文において活躍し、プログラムを作成する過程において、条件分岐と繰り返しというのがありますが、それらの制御するには欠かせない存在です。

var_dump($a);とするとbool(true)と結果が表示されます。データ型(論理値)と表示されます。

配列型(array:アレイ)

<?php
    $numbars = [100, 200, 300];
    echo $numbars[0];
    var_dump($numbars);
?>

次に、「配列型(array)」です。

今までは、1つの値を変数に代入しする形でしたが、複数の値をまとめておけるのが配列になります。例えるなら、今までの変数は1つの値しか代入できない箱($box = "1つだけの値";)でしたが、配列は1つ以上の値を管理できる複数箱($boxs = ["1つ目の値", "2つ目の値", ...];)になります。

添字配列

上記のコードの配列は、正しくは「添字配列」と呼び、配列内のそれぞれの値(データ)を識別するために自動的に「0」から始まる通し番号(添字)が与えられます。

配列は、[](ブラケット)を使い初期化します。

初期化とは、変数に代入する時に最初の値を定義しておくことを指します。また、配列の中にあるひとつひとつの値を、要素と呼びます。

[](ブラケット)の中に、値を書く時には1つずつの値を区切るために、,(カンマ)を使います。カンマの後に半角スペースは無くてもプログラムは変わりませんが、慣用的に半角スペースを空けます。全角スペースではコンピュータが正しく動作できずエラーになりますので気を付けましょう。

上記コードの配列は、$numbarsという変数に3つの数字を連続して書いて定義しています。配列の中にある値を表示するには、echo $numbars[0];と変数名の後に添字をブラケットで囲い書くことで表示されます。echo $numbars[1];とすると200が表示されます。

配列の中にある全ての値をechoでは表示できませんので、var_dump()を使うと以下のような結果になります。

array(3) {
  [0]=>
  int(100)
  [1]=>
  int(200)
  [2]=>
  int(300)
}

print_r()

データ型を確認するには、var_dump()を使ってきましたが、print_r()を使って出力することで、「値だけ」の表示構成になり、見やすくなりますので状況により使い分けてください。

<?php
    $numbars = [100, 200, 300];
    print_r($numbars);
?>

上記コードに書き換えて、ファイルを実行すると以下のようになります。

Array
(
    [0] => 100
    [1] => 200
    [2] => 300
)

連想配列

<?php
    $numbars = [
        'one' => 100,
        "two" => 200,
        "three" => 300
    ];
    var_dump($numbars);
?>

添字配列は、添字配列変数名[0]とブラケットの中に番号を入れることで、対象の値を取得ができました。

この[0]["one"]などの文字列などを入れることで100が取得できる配列を「連想配列」と呼びます。自動的に割り当てられる通し番号(添字)の代わりに名前を付与したというイメージになります。

上記のコードコードを実行すると、以下の結果になります。

array(3) {
  ["one"]=>
  int(100)
  ["two"]=>
  int(200)
  ["three"]=>
  int(300)
}

var_dump($numbars["one"]);とすることで、"one"のキーに紐づく値100を表示できます。

<?php
    $numbars = [
        'one' => 100,
        "two" => 200,
        "three" => 300
    ];
    echo $numbars["one"] . PHP_EOL;
    var_dump($numbars["one"]);
?>

実行結果は以下になります。

100
int(100)

ここで配列の基本記述をまとめます。

  1. 配列は、[](ブラケット)またはarray()で作成
  2. 要素を区切るために「,」を要素の要素の間に
  3. 要素ひとつひとつが、異なるデータ型でもOK
  4. 添字は0から始まる(添字配列)
  5. キー => 値」のペアが1つの要素になる(連想配列)
<?php
    // 連想配列の作成イメージ例
    $連想配列変数名 = [
        $キー1 => $値1,
        $キー2 => $値2,
        $キー3 => $値3,
        ...
    ];
?>

ちなみに、以下のコードの添字配列と連想配列は同じ結果になります。以下のコードに書き換えてファイルを実行して確認してみてください。

<?php
    // 添字配列
    $array1 = [
        100,
        200,
        300
    ];
    var_dump($array1);

    // 連想配列
    $array2 = [
        0 => 100,
        1 => 200,
        2 => 300
    ];
    var_dump($array2);
?>

オブジェクト型(object:オブジェクト)

次にオブジェクト型ですが、「オブジェクト指向」という概念に基づいたプログラミング手法である「オブジェクト」についての理解が必要になりますので、ここでは割愛します。

NULL型(null:ナル)

最後に、NULL型になります。大文字も小文字も区別されない定数がnullで、NULL型は値はこのひとつだけです。

NULLは「空っぽ」の意味になります。変数にnullが代入されている条件は以下の2つになります。

  1. 変数を宣言して、何も値を代入していない($varのみ記述)
  2. 変数にnullを代入した
<?php
    $var; // 1.変数の宣言のみで値の代入がない
    var_dump($var);
    $var2 = null; // 2.変数にnullを代入
    var_dump($var2);
?>

上記コードに書き換えて、ファイルを実行した結果が以下になります。

PHP Notice:  Undefined variable: var in C:\Users\account\file\path\sample.php on line 3

Notice: Undefined variable: var in C:\Users\account\file\path\sample.php on line 3
NULL
NULL

変数を宣言するだけで、値を代入しなかった場合は「警告」が表示されます。(Notice: Undefined variable: var ・・・)警告の後に表示されたNULLvar_dump()による結果が表示さた「NULL値」になります。

警告文の、C:\Users\account\file\path\sample.php on line 3の部分は、あなたの実行したファイルのパスが表示されますので、上記とは異なります。

定数の性質として、変数は何度も代入できるますが、1度値を代入したら変更することができない性質をもっています。またPHPには定義済みの定数も多く存在します。

まとめ

PHPのプログラミング基礎のデータ型を解説しましたが、いかがでしたでしょうか?

プログラミングの基礎となる変数と同様に、データの型についても理解は必要になりますが、最初から覚えないとっていう感じではないので、こういうのがあるんだというぐらいで把握する程度で良いと思います。

では、お疲れ様でした!

ブログを始める人におすすめのレンタルサーバー!

ブログを始めようとお考えの人向けに、おトクなキャンペーン中のレンタルサーバーをご紹介します!

ConoHa WING(コノハウィング)

キャンペーン中!

ConoHa WINGでは2021年8月4日(水)18時~2021年9月13日(月)18時まで、「Happy Summer キャンペーン」を開催いたします。キャンペーン期間中、WINGパック「ベーシックプラン」を新規でお申し込みいただくと、ConoHa WING通常料金から最大40%OFF、月額792円からWINGパックをご利用いただけます。

さらに、初期費用無料で、初回お申込み月はご利用料金無料なので月初のお申込みで、最大31日間無料でご利用いただく事ができます!

また、WINGパックはレンタルサーバーと独自ドメインがセットになったおトクな長期利用割引プランです。お好きなレンタルサーバープランと独自ドメインが2つ永久無料でご利用いただけます。

詳細は、以下のリンクからご確認ください。
⇒Happy Summer キャンペーン!

Xserver(エックスサーバー)

キャンペーン中!

国内シェアNo1レンタルサーバー「エックスサーバー」では、2021年9月9日(木)18時まで利用料金20%OFFキャンペーン」とお得なキャンペーンを開催中です!

キャンペーン期間中に、新規でX10プランの12ヶ月契約なら月額880円(税込)!36ヶ月契約なら月額792円(税込)で利用可能です!

さらに、「.com」や「.net」など大人気独自ドメインが永久無料!

キャンペーンの詳細は、以下のリンクからご確認ください。
利用料金20%OFFキャンペーン!

ロリポップ!

実質半額!『契約期間2倍延長キャンペーン』!

ロリポップでは、2021年9月7日(火)11:00〜2021年9月20日(月)23:59までのキャンペーン期間、レンタルサーバーの対象プランが実質半額となる『契約期間2倍延長キャンペーン』を開催しております。

キャンペーン期間中に、対象プランの新規お申し込みをいただき、その後にご契約いただくと、契約期間を2倍に延長するクーポンをプレゼントいたします。

たとえば、ハイスピードプランの12ヵ月を契約した場合、クーポンのご利用で12ヵ月の契約がプラスされるので、12ヵ月分の料金お支払いで24ヵ月利用が可能になり、6,700円以上おトクになります。

ロリポップ!で契約するなら今が断然おトクに始められます!

サービスの詳細は、以下のリンクからご確認ください。
実質半額!『契約期間2倍延長キャンペーン』!

ロリポップ!『ドメインずーっと無料』!

『ムームードメイン』の対象ドメインと、『ロリポップ!』のレンタルサーバーの両方を新規でご契約いただく場合、レンタルサーバーをご契約中はドメインを無料でご利用いただける『ドメインずっと無料』の提供を開始しました。

ロリポップ!でレンタルサーバーを契約期間中はずっと無料でドメインを利用することができます。

サービスの詳細は、以下のリンクからご確認ください。
⇒ドメインの新規取得・更新が無料になるサービス『ドメインずっと無料』

ボクがおすすめするレンタルサーバーの特徴や違い、選び方など知りたい方は、WordPressに最適なレンタルサーバーの選び方とおすすめサービス比較!の記事に詳しく解説してますのでご覧になってください!

PHP
スポンサーリンク
otsuをフォローする
スマライログ
タイトルとURLをコピーしました