Created: 2025/04/29
前回の記事の続きですー
この記事では、phpの基本的な構文を確認していきます。
前回のチャットログがなくなったので、前回の記事を一回読ませて進めていきます!
記事読んで、内容を要約感想を添えてくれました。
次に、phpの基本的な構文を学びたいと伝えました。
こんな感じで、効率的に教えてくれる😁
上記の質問をしてみた。
なるほど、<?php...?>で、ここがphpのコードであること示しているだけか。
スクリプト言語なので、動的に型を付けてくれる。そして、明示的に型を宣言することもできる。
アロー関数もあるみたいですね、僕が苦手なやつ...
一応、公式のリファレンスさーっとみた感じ大丈夫そうです。
次はチャッチーに問題を出してもらって構文を学習。
学習のステップは以下の通りです。
こんなステップで学習を進めていいきます!
自分の回答
1
2
3
4
5
6
7
8
<?php
//【1】変数とデータ型
$name = "IWAMON";
$age = 20;
$student = true;
echo "名前:" . $name . "\n年齢:{$age}歳\n学生:" . $student . "<br>";
?>
チャッチーのフィードバック
\n
を変えるの忘れてた...
確かに、三項演算子の方がいいな
自分の回答
1
2
3
4
5
<?php
//【2】文字列操作
echo "こんにちは、{$name}さん!\n" . "<br>";
echo "あなたは{$age}歳です。\n" . "<br>";
?>
チャッチーのフィードバック
特になし
コードは一つのファイルで書いているので、変数は使い回しですね
自分の回答
1
2
3
4
5
6
7
8
9
10
11
12
<?php
//【3】配列と連想配列
$furits = array("ブドウ", "リンゴ", "バナナ");
foreach ($furits as $fruit) {
echo "果物: {$fruit}\n";
}
echo "<br>";
$myinfo = ["name" => "IWAMON", "age" => 20, "job" => "学生"];
echo "名前:" . $myinfo["name"] . " 年齢:" . $myinfo['age'] . " 職業:" . $myinfo["job"] . "<br>";
?>
チャッチーのフィードバック
typoだけですね。
自分の回答
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// 【4】条件分岐
if ($age >= 20) {
echo "大人です<br>";
}
elseif ($age >= 13) {
echo "中高生です<br>";
}
else {
echo "子供です<br>";
}
?>
チャッチーのフィードバック
特になし
自分の回答
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// 【5】繰り返し(for文、foreach文)
for ($i=1; $i <= 10; $i++) {
echo $i;
}
echo "<br>";
foreach ($furits as $fruit) {
echo "果物: {$fruit}\n";
}
echo "<br>";
?>
チャッチーのフィードバック
さっきのtypoの部分と同じですね。
自分の回答
1
2
3
4
5
6
7
8
9
<?php
// 【6】関数
function tasizann($x, $y) {
$res = $x + $y;
return $res;
}
echo tasizann( 3, 7) . "<br>";
?>
チャッチーのフィードバック
特になし
自分の回答
1
2
3
4
5
6
7
8
9
<?php
// 【7】スーパーグローバル変数($_GET)
// 【8】エラー防止(isset)
if (isset($_GET['getname'])) {
echo "こんにちは、" . $_GET['getname'] . "さん! <br>";
} else {
echo "名前が指定されていません<br>";
}
?>
チャッチーのフィードバック
特になし
自分の回答
1
2
3
<?php
echo "これはヘッダーです。<br>"
?>
1
2
3
4
<?php
// 【9】include
include "./header.php";
?>
チャッチーのフィードバック
おっと...
自分の回答
1
2
3
4
5
<?php
// 【10】日付関数
$today = date("Y/m/d");
echo $today . "<br";
?>
チャッチーのフィードバック
あっ...
自分の回答
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// BONUS
for ($i= 1; $i <= 100; $i++) {
if ($i%15 == 0) {
echo "{$i}FizzBuzz<br>";
} elseif ($i%5 == 0) {
echo "{$i}Buzz<br>";
} elseif ($i%3 == 0) {
echo "{$i}Fizz<br>";
}
}
?>
チャッチーのフィードバック
忘れてた...
このforループですが、なぜか3Fizzだけ出力されませんでした。
原因は、【10】日付関数関数のtypoです。日付の出力の部分でecho $today . "<br";
の>
を忘れていました。そのため、ブラウザのディベロッパーツールを確認すると...
こんな感じで、3Fizzがhtmlのタブとして変な扱いをしいました😂
実際の開発で、こんな感じのミスあったら沼りそうですね...(僕はこれで数分沼りましたw)
修正!
こんな感じでした!
提案してくれました。
でも、ログインセクションとか後にして、クラスを先にやろうと思います!
チャッチーだけでも、割と勉強できますね〜
チャッチーだけでは不安だと思う時は、公式のリファレンスを参照するようにしています!
また次回👋🏻