× 無料のユーザー登録をすると学習状況を管理することができるようになります

【旧版】PHP入門(基本編) (全32回)

最新版のレッスンはこちらから » 【最新版】PHP入門 (全30回)

動的にWebページを作ることができるPHPについてその基礎を学びます。

このレッスンでは php 5.3.13 を使用しています。

#01 PHPとは何か?
2013年2月22日
動画中で紹介されている「http://dev.dotinstall.com/php_lessons/」はこちらのPCでセットアップしたローカル開発環境のアドレスになります(インターネット上からはアクセスできません)。
同じようにローカル開発環境をセットアップしたい方は以下のレッスンを参考にしてみてください。
http://dotinstall.com/lessons/basic_local_development
2012年6月11日
PHP公式サイトの日本語マニュアルはこちらです。
http://www.php.net/manual/ja/
#03 変数を使ってみよう
2012年8月16日
PHPの変数には、実は日本語を使うこともできます。

$メッセージ = "Hello!";
echo $メッセージ;

これはエラーにはなりませんが、コードの見通しが悪くなるのでオススメできません。

変数以外にも定数、関数名、クラス名などにも日本語は使えますので、豆知識程度に覚えておきましょう。
2012年6月11日
変数名のルールとしてもうひとつ、「予約語は使えない」というものがあります。予約語とはPHPの言語自体に使われているさまざまな語句です。
詳細は以下にまとまっていますのでざっと眺めておくと良いでしょう。
・予約語の一覧
http://php.net/manual/ja/reserved.php
#06 演算子を使ってみよう
2015年6月15日
この2つの違いは加算と同時に変数を評価する際に現れます。 $x++ の場合は、
$x = 5;

// 5が出力される
echo $x++;
となります。つまりこれは、
$x = 5;

echo $x;

$x = $x + 1;
としているのと同じです。一方で ++$x の場合は以下のようになります。
$x = 5;

// 6が出力される
echo ++$x;
つまりこれは、
$x = 5;

$x = $x + 1;

echo $x;
としているのと同じです。些細な違いですが覚えておきましょう。
#07 文字列についてみていこう
2012年6月19日
文字列の表現としてもう一つ、ヒアドキュメントというものがあります。これは改行を含む長文を変数に代入したい場合によく使われます。
文法としては以下のように<<<を使います。
$str = <<<EOM
これから
・・・
・・・
ここまでが代入されます。
EOM;
ここで使った「EOM(End of Message)」はラベルと呼ばれ、何を使ってもいいですが、最終行では行の先頭からラベルを記述し、そのあとは;のみを記述してください(最初に空白などを入れてはいけません)。
また代入する文字列の中で変数を展開することも可能です。より具体的には以下のマニュアルを参考にしてみてください。
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
#08 ifで条件分岐をしてみよう (1)
2012年12月6日
PHPでは論理演算子の「&&」の代わりに「and」、「||」の代わりに「or」を使うこともできます。

どちらを使っても同じ意味ですが、結合の優先順位に違いがあります。

PHP: 論理演算子 - Manual
http://php.net/manual/ja/language.operators.logical.php

// && は = より優先順位が高いので、$x には false が入ります。
$x = true && false;

// 以下と同等
$x = (true && false);

// and は = より優先順位が低いので、$x には true が入ります。
$x = true and false;

// 以下と同等
($x = true) and false;

どちらを使っても構いませんが、混乱しないようにコードの中ではどちらか一方を使うようにしましょう。
2012年6月26日
プログラミング言語によって何が「真(true)」で何が「偽(false)」かはマチマチです。PHPでは false 以外で特に、

* 数値の 0 や 0.0
* 文字列の "0"
* 空の配列

などが「偽(false)」として扱われることに注意しておきましょう。

$x = "0";
if ( $x ) {
  echo '1番目';
} else {
  echo '2番目';
}

上記のコードでは $x は文字列の "0" なので、「2番目」と出力されます。

詳しくは以下のドキュメントをご覧ください。
http://php.net/manual/ja/language.types.boolean.php
#22 日本語を扱ってみよう
2012年9月25日
もうひとつ良く使うのがmb_strimwidthです。これは長い文字列を特定の文字数で丸めることができるという便利な関数です。
例えば「PHPでよく使う日本語関数、100のまとめ」といった長すぎるタイトルを「PHPでよく使う...」といった具合に指定した文字数で丸めることができます。また最後の「...」も任意の文字列を指定することが可能です。より詳しくはマニュアルを参照してみてください。
http://php.net/mb_strimwidth
2012年8月23日
自分でPHPをインストールした場合、きちんと php.ini で mbstring に関する設定をしておかないと mb_* 系の関数が正常に動作しない場合があります。

mbstring の設定については「さくらのVPSの基礎」の「#15 PHPの設定をしよう」で解説していますので参考にしてみてください。
http://dotinstall.com/lessons/basic_sakura_vps/8015
#23 書式を指定して文字列を表示する
2012年9月6日
sprintfと似た命令にvprintfというものがあります。この命令では、第2引数以降を変数の羅列ではなくて、配列で渡すことができます。差し込むデータが配列だった場合はこちらを使うことも検討してみましょう。
http://jp2.php.net/manual/ja/function.vsprintf.php
#32 フォームからのデータを受け取ろう
2012年9月24日
チェックボックスやラジオボタンは、チェックされていなければデータ自体が送信されないので注意が必要です。

以下のようなチェックボックスがあったとして、

<form action="contact.php" method="post">
  <input type="checkbox" name="mobile" value="1"> モバイル
  <input type="submit" value="送信">
</form>

ここでチェックをつけない状態でフォームを送信すると、PHPのほうでは var_dump( $_POST ) の結果は次のようになります。

array(0) { }

逆にチェックボックスにチェックをしていれば、次のようになります。

array(1) { ["mobile"]=> string(1) "1" }

この違いをきちんと理解できるようにしておきましょう。