パソナについて
記事検索

PHP入門 - 基本の文法や実際に実行できるコードも紹介

PHPがおすすめの理由や、PHPでできることなどを解説します。

PHP入門 - 基本の文法や実際に実行できるコードも紹介

PHPがおすすめの理由や、PHPでできることなどを解説します。

スキルアップ

2020/11/13 UP

学校教育でプログラミングが計画されていたり、人気の副業になっていたりとプログラミング自体に関心が集まっています。それも手伝って、プログラミングの勉強を始めたいと思う人は非常に多くきかれます。

その一方で、どの言語を勉強すればいいのか、どこから勉強すればいいのか決められない人も少なくありません。こうした人にとって、初めの難易度がそれほど高くなく、汎用性の高いPHPはおすすめのプログラミング言語です。

この記事ではPHPがおすすめの理由や、PHPでできることなどを解説します。

PHPとは?

PHPとは?

PHPはプログラミング言語の一種で、主にWebサービスなどの裏側のシステムに使用されることの多い言語です。たとえば、フォームの値をデータベースに格納したりする場合は、フォームを形作るところはHTMLで、データをサーバに送った後、データをデータベースに受け渡すところはPHPで行います。

また、HTMLに直接埋め込むことも可能で、HTMLタグである

<h1></h1>

の間にPHPで動的に「これはタイトル」という文字列を出力したりすることができます。

PHPのことをより詳しく知りたい方は、こちらの記事をご覧ください。

PHPの実行環境

PHPの実行環境

レンタルサーバの場合、大手のサーバーのほとんどにPHPの実行環境はすでにインストールされています。サーバ管理会社が提供する管理画面などで環境設定を変更できる場合も多く、比較的設定は簡単にできます。

また、わざわざサーバーを借りなくても、XamppやMamppを使えば、ローカルで実行環境を整えられます。インストールも手軽なうえに、WEBの情報も豊富なため、環境構築は簡単な言語といえます。

なお、本格的にPHP開発をするのであればローカルに環境を構築するとよいでしょう。サーバにつなぐ必要なく気軽に試すことのできる環境があるのはとても便利です。またオンラインで実行できる環境もあるので、表示や計算処理を中心としたコードを試すだけなら、まずそこを借りるのも近道です。

入門その1 - PHPの文法

PHPの基本となる文法を、サンプルのソースコード一緒にご紹介します。

PHPの作法

PHPは <?php で始まり ?> で終わる書き方をします。終了タグについては、後続にHTMLなどがない限り省略もできますが、処理が分かりにくくなるので、始まりと終わりは一対一で書くようにしましょう。

コメントアウトは/* */ //などで行います。大きな処理の塊ごとに、その処理は何を意味するのかコメントアウトで簡単に書いておくと、後から見やすいコードになります。

PHPの型

boolean、integer、float、double、string、array、objectなどがあります。それぞれPHP独特のものは少なく、書き方こそ違えど、他のプログラム言語と同様の感覚で使うことができます。

なおPHPでは、明示で型を指定せずとも、値を入れた時点で自動的に決まります。これは、特に初心者のうちは型をあまり意識せずプログラミングができるので便利に感じます。一方で中級者以上になってくると、自動で決まってしまう型をしっかり理解していないと思わぬバグを生んでしまうため注意が必要です。

PHPの変数、関数

変数や配列には$がつき、定数にはつかないのが特徴です。定数はホームページアドレスや環境変数など変わっては困る値を入れることに適しており、定義の仕方も変数とは異なります。

文字列を扱うときはダブルクォーテーションかシングルクォーテーションでくくります。ダブルクォーテーションでは、中に記述された変数を展開しますが、シングルクォーテーションでは変数が処理されずに、そのまま文字列として表示されるという違いがあります。

以下のサンプルコードが基本的な変数の書き方です。配列のときは配列要素を[]でくくります。

// 変数代入
$test_str = "test";
$test_int = 123;

// 配列の場合
$test_array = [1,2,3,4,5];

PHPの関数と定義

関数はclassとfunctionを使って定義していきます。classは文字通り、クラスを宣言するもの、functionは関数を宣言するものになります。

サンプルコードのfunctionの例では、testという文字列を、変数$test_strに代入し、それを表示させています。

classではtest_classを定義した後、$tcにインスタンスを生成し、->(アロー)でadd関数を呼び出します。

// 関数
function test_func() {
    $test_str = "test";
    return $test_str;
}
echo test_func(); // test が表示される
// クラス
Class test_class {
    public function add($a,$b) {
        echo $a + $b;
    }
}

$tc = new test_class();
$tc->add(10,20); // 10 + 20 の結果である 30 が表示される

PHPで if / switch

条件に合わせて処理を分岐させられるのがifです。if () {} else {} で表記します。else ifを使って条件を増やしたり、ifを入れ子にして複雑な条件に対応したりといろいろな処理に使えます。サンプルは、$numが5より上の場合とそれ以外で条件分岐しているコードです。

// if
$num = 5;
if ($num > 5) {
    echo "Over 5";
} else {
    echo "Under 5";
}

if に近い動きをするものとしてもう一つ、switchがあります。switchは条件判定させたい値をそれぞれ記載していき、該当しない場合はdefaultの処理に集約することができます。

ただし条件に該当してからbreak;が出るまで、またはswitch分の最後まで実行してしまう性質があるため、サンプルコードのように、case 1の後に、1の時の処理を書かなくても、This is not 3が表示されます。

// switch
$num = 5;
switch ($num) {
    case 1:
        // break; を記述していないため、後続のcase2も実行する
    case 2:
        echo "This is not 3";
        break;

    case 3:
        echo "This is 3";
        break;
    default:
        break;
}

PHPで while for foreach

条件を満たす限り繰り返しの処理を行うのがwhileです。while () {} で表記をしていきます。条件にしている値を増やすか減らすかする処理を入れないと、無限に回っていくコードなので、ループに注意しましょう。サンプルは$numが0から始まり、10未満の間ループします。

// while
$num = 0;
while ($num < 10) {
    echo $num;
    ++$num;
}

while に近い動きをするものとしてforeachとforをサンプルコードと共にご紹介します。foreachは配列と相性がよく、簡単なコードとしては、配列の中身をすべて表示するときに使います。サンプルコードは配列 $numsの値を全て表示しています。

// foreach
$nums = [1,2,3];
foreach ($nums as $num) {
    echo $num;
}

forはループを回す条件も変数になっているときに使います。サンプルコードは変数$iが1ずつ増えることにより、ループの終了条件となっています。

// for
$nums = [1,2,3];
for ($i = 0; $i < 3; $i++) {
    echo $nums[$i];
}

入門その2 - PHPとHTML

PHPはHTMLに簡単に埋め込めると紹介しましたが、ここでは、実際に実行できるサンプルコードを紹介します。

以下のサンプルコードを test.phpなどとして、保存して実行してみましょう。スクリーンショットのような画面になります。画面内容に対して、コードが少ないように思うかもしれませんが、$numが0から10より大きくなるまで処理を続けるループなので、0から9までの数字が10行並ぶことになります。

<html>
<body>

<h1>PHPをHTMLに埋め込むテスト</h1>

<?php $num = 0;?>
<?php while ($num < 10) { ?>
<h2>現在の数字は:<?php echo $num;?> です。</h2>

<?php ++$num;?>
<?php } ?>
</body>
</html>

こちらのサンプルコードの実行結果は次のようになります。

サンプルコードの実行結果

このように、PHPはHTMLととても親和性が高く、PHPが入っているサーバであれば、既存のhtmlの拡張子を .php にするだけで、簡単にphpを実行することができます。

PHPは今後の需要も高い!

PHPはさまざまな場面で利用されているため、習得できればキャリアの幅を広げることができます。細かい業務仕様は違えど、Webで構築されているシステムは多く、それらすべてが仕事の対象範囲となります。

オブジェクト指向など知らないと難しい概念もありますが、理由が分かれば結果的に効率よくプログラムを組めるので、頑張って勉強しましょう。実行環境が用意しやすく、独学でも習得しやすい言語なので、粘り強く勉強を続けることが重要です。