PHPプログラム基礎の問題集

PHPのプログラミング基礎を使った問題をメインにサンプルコードをまとめて紹介します。

この記事ではプログラミングの基礎知識だけを使った問題やサンプルコードをたくさん用意しています。(ちょこちょこ更新していきます)
この記事を書いている僕は、プログラミング歴10年以上のプログラマーです。
詳細:プログラミング未経験の新卒が10年間プログラマーとして仕事して思うこと
関連記事:プログラミング基礎を使った問題やサンプルコードまとめ【JavaScript基礎講座】
プログラミング基礎を使った問題
ここではプログラミングの基礎知識で解ける問題をたくさん用意しています。
プログラミングは受験勉強のように暗記して学習してもスキルになりません。理由は暗記じゃなく応用力が重要だからです。
プログラミングの書き方を身につける
これが重要です!ぜひ実際にプログラミングコードを書いて問題を解いてみてください。
変数を使った問題
プログラミングの基礎である変数を使った問題です。変数は「数値」や「文字列」を自由に出し入れしてプログラム内で使用することができる 箱のようなもの です。

変数を理解するには、プログラミングで実際に使ってみることが重要です。
関連記事:変数を理解するコツを分かりやすく解説【プログラミング初心者の入門講座】
問)変数へ数字の 1 を代入する
PHPの変数は $ で宣言します。そして変数に数字を代入するには = で行います。
$hensu = 1;
問)変数へ数字の 1 を代入して echo で出力する
$hensu = 1;
echo $hensu;
問)変数へ代入した数字の 1 へ 数字の 1 を加算する
数字を加算するには + を使います。
$hensu = 1;
$hensu = $hensu + 1:
または
$hensu = 1;
$hensu += 1:
問)変数へ代入した数字の 1 へ数字の 1 を減算する
数字を減算するには – を使います。
$hensu = 1;
$hensu = $hensu - 1:
または
$hensu = 1;
$hensu -= 1:
問)変数へ代入した数字の 10 へ数字 2 を割り算する
数字を割り算するには / を使います。
$hensu = 10;
$hensu = $hensu / 2;
問)変数へ代入した数字の 10 へ数字 2 を掛け算する
数字を掛け算するには * を使います。
$hensu = 10;
$hensu = $hensu * 2;
問)変数へ文字列の あいうえお を代入する
文字列はダブルクォーテーションで括ります。そして変数へ文字列を代入するには = で行います。
$hensu = 'あいうえお';
問)変数へ代入した文字列 あいうえお に文字列の かきくけこ を連結する
文字列の連結は . を使います。
$hensu = 'あいうえお';
$hensu = $hensu . 'かきくけこ';
または
$hensu = 'あいうえお';
$hensu .= 'かきくけこ';
問)文字列の '2020/01/31’ を区切り文字 '/’ にして分解して配列へ格納
区切り文字を指定して文字列を配列に分解するには explode で行います。
$moji = '2020/01/31';
$hairetu = explode('/', $moji);
echo print_r($hairetu);
配列/オブジェクトを使った問題
プログラミングの基礎である配列を使った問題です。配列は変数を複数入れておくことが出来るプログラム内で使用することができる タンス のようなものです。

配列を理解するには、プログラミングで実際に使ってみることが重要です。
関連記事:配列を理解するコツを分かりやすく解説【プログラミング初心者の入門講座】
問)配列を宣言
配列は [] で宣言することができます。または array() で行います。
$hairetu = [];
または
$hairetu = array();
問)数字の1を代入した変数を2つの要素を持った配列へ代入
配列の要素を指定するには [0] や [1] のように行います。
$hensu = 1;
$hairetu = array(
$hensu,
$hensu
);
または
$hensu = 1;
$hairetu = [
$hensu,
$hensu
];
問)配列の要素1へ数字の1を代入して echo で出力する
$hensu = 1;
$hairetu = array(
$hensu,
$hensu
);
echo $hairetu[1];
または
$hensu = 1;
$hairetu = [
$hensu,
$hensu
];
echo $hairetu[1];
問)上記問題で作成した配列hairetuの要素数を echo で出力する
$hensu = 1;
$hairetu = [
$hensu,
$hensu
];
echo count($hairetu);
問)配列の値をカンマ区切りで文字列に変換
配列の値を区切り文字で文字列に変換するには implode で行います。
$hairetu = [
'apple', 'りんご', '林檎'
];
echo implode(',', $hairetu);
if文で条件分岐を使った問題
プログラミングの基礎であるif文を使った問題です。if文はプログラミングで条件分岐を行うことができます。

if文を理解するには、フロー図などで図解にするとわかりやすくなります。
関連記事:if文を使った条件分岐を理解するコツを分かりやすく解説【プログラミング初心者の入門講座】
問)数字の100を代入した変数を宣言して、if文で変数に100が代入されているか判定
if文の条件は if (条件式) で定義します。ある値と変数に代入された値を判定する際は == を使用します。
$hensu = 100;
if ($hensu == 100) {
echo "変数に100が代入された";
}
for文でループ処理を使った問題
プログラミングの基礎であるfor文を使った問題です。for文はプログラミングで何度も同じ処理を行うループ処理を行うことができます。
関連記事:ループの繰り返し処理を理解するコツをわかりやすく解説【プログラミング初心者の入門講座】
問)for文で変数をインクリメントして100回ループ
ループは for (最初だけ行う処理; ループを続ける条件式; 1回ループ終る毎に行う処理) で定義します。あとインクリメントは変数の値を1増やすことをいいます。
for ($hensu = 1; $hensu <= 100; $hensu++) {
echo $hensu + 'になりました。';
}
問)for文で変数をデクリメントして100回ループ
デクリメントはインクリメントの逆で変数の値を1減らすことをいいます。
for ($hensu = 100; $hensu >= 1; $hensu--) {
echo $hensu + 'になりました。';
}
for文とif文を使った問題
プログラミングの基礎であるfor文とif文を使った問題です。プログラムではfor文でループ処理を行いつつif文で条件分岐を行うことが多くあります。
問)100回ループするfor文を定義して50回目のループでforを終了させる
for文の終了するには break で行います。
for ($hensu = 1; $hensu <= 100; $hensu++) {
if ($hensu == 50) {
echo $hensu + 'になったのでfor文を終了します。';
break;
}
}
配列を使ったループ処理の問題
配列の要素分だけforでループする
$hairetu = [
'A', 'B'
];
$row = count($hairetu);
for ($i = 0; $i < $row; $i++) {
echo $hairetu[$i];
}
日付関数を使った問題
日付関数を使った問題です。プログラムでは日付関数を使うことが多くあります。
問)本日の日付を echo で表示(日付の形式は「2020/01/01」)
PHPで日付を扱うには date('形式’) で行います。
$hiduke = date('Y/m/d');
echo $hiduke;
問)昨日の日付を echo で表示(日付の形式は「2020/01/01」)
$hiduke = date('Y/m/d', strtotime('-1 day'));
echo $hiduke;
問)1年後の日付を echo で表示(日付の形式は「2020/01/01」)
$hiduke = date('Y/m/d', strtotime('+1 year'));
echo $hiduke;
問)本日の日時を echo で表示(日付の形式は「2020/01/01 00:00:00」)
$nitiji = date('Y/m/d H:i:s');
echo $nitiji;
プログラミング基礎を使ったサンプルコードまとめ
プログラミングの基礎知識を使ったPHPのサンプルコードを紹介します。

基礎は勉強できたから次のステップへ行きたい
プログラミングは基礎学習だけを淡々と進めていても実際にシステムを実装する経験やノウハウは基礎知識だけでは全く身につかないので、勉強は実際にプログラムして進めることをオススメします。
関連記事
プログラミング基礎を理解するコツを解説【JavaScript入門】
カレンダーを出力
基礎知識のfor文とif文を使った練習問題としてよく出題されるカレンダーの出力です。

for文でを使ったループ制御の習得におすすめです。
カレンダーの出力では、
- ループの制御
- ループ内で処理の実行
を習得することができます。
ぜひチャレンジしてみてください。
Webページ制作の基本サンプル
Webページ制作の基本となるサンプルを紹介します。
会員登録フォーム
Webシステムにおいて会員登録フォームの作成は必ずあるといってもいいWebページです。

このサンプルはHTMLの知識がベースで formタグ や inputタグ などを使っています。
まとめ:プログラミング基礎を使ったサンプルコード
今回はプログラミング基礎を使ったサンプルコードをまとめて紹介しました。
ここで紹介したサンプルコードの知識はすべて基礎知識だけで実装することが出来る内容です。もしわからないことがあれば振り返り学習をして1つずつ理解してスキルアップを目指しましょう!

基礎ばかり学習するのが嫌な人は、ステップアップした内容へ踏み込んでみるのもアリかもです。
基礎学習を終えた人へ
基礎学習を一通り終えた人は一度小さなシステムを1つ作ってみることをおすすめします。
理由は
- 達成感を得ることができる
- 実務で必要なノウハウやスキルが身につく
- システムエラーの対処スキル
- 次のステップアップにつながる
- 次のシステムで改善すべき点がわかる
- 汎用的なシステムを実装する重要性
など次のステップへ繋がるたくさんの経験を得ることができます!
最後まで読んでもらいありがとうございます。
ディスカッション
コメント一覧
まだ、コメントがありません