
執筆者
S.G.
最初の戸惑い:見た目の違い

Python3エンジニア認定基礎試験に合格し、Pythonの基礎を学んだ私ですが、現在はPHPを使った開発を行っています。
「せっかくPythonを勉強したのに、PHPに変わってしまった」と最初は戸惑いもありましたが、いま振り返るとPythonで学んだことは決して無駄ではなかったと強く感じています。
今回は、PythonからPHPへ言語を乗り換えて感じた違いと共通点、そしてPython学習の経験がどのように役立っているかをお話しします。
PHPのコードを初めて見た時、正直「全然違う言語だ」と感じました。
Pythonに慣れていた私にとって、PHPの書き方は独特に見えたのです。
◆変数の書き方
Python
name = "太郎"
age = 25
PHP
$name = "太郎";
$age = 25;
PHPでは変数の前に必ず`$`マークを付ける必要があります。
最初はこれを忘れてエラーを出すことが頻繁にありました。
また、文の最後にセミコロン`;`を付けるのも、Pythonに慣れていた私には違和感がありました。
◆インデントの扱い
Pythonではインデントに意味があり、コードのブロックをインデントで表現します。
これがPythonの美しさの一つでもあります。
Python
if age >= 20:
print("成人です")
print("お酒が飲めます")
一方、PHPではインデントは視認性のためのもので、文法的な意味はありません。代わりに波括弧`{}`でブロックを表現します。
PHP
if ($age >= 20) {
echo "成人です";
echo "お酒が飲めます";
}
最初は波括弧の開閉を間違えたり、閉じ忘れたりすることもありました。
◆配列の書き方
Python
fruits = ["りんご", "バナナ", "オレンジ"]
print(fruits[0]) # りんご
PHP
$fruits = ["りんご", "バナナ", "オレンジ"];
echo $fruits[0]; // りんご
配列自体の書き方は似ていますが、出力の方法が違います。
Pythonの`print()`に対して、PHPでは`echo`を使います。
ただし、
実務ではLaravelを使っているため、`echo`で直接出力することはほとんどありません。
ビューテンプレートを通してHTMLを生成するのが一般的です。
ここでは言語の違いを説明するために、基本的な書き方を例として挙げています。
理解が深まった瞬間:本質は同じだった

しかし、実際にPHPでコードを書き始めると「あれ、これってPythonと同じ考え方だな」と気がつく瞬間が何度もありました。
◆変数の概念は同じ
見た目は違っても、「変数」という概念は同じです。
「データに名前を付けて、後から参照したり変更したりする。」という基本的な考え方は変わりません。
`$`マークやセミコロンは、ただの「書き方のルール」に過ぎないのです。
一度慣れてしまえば、なんの問題もありません。
◆条件分岐とループの考え方
Pythonで学んだ`if`文の考え方は、PHPでもそのまま使えます。
・条件分岐
Python
if score >= 80:
print("優秀です")
elif score >= 60:
print("合格です")
else:
print("不合格です")
PHP
if ($score >= 80) {
echo "優秀です";
} elseif ($score >= 60) {
echo "合格です";
} else {
echo "不合格です";
}
⇒elif が elseif になっただけで、ロジックは全く同じです。
・ループ処理
Python
for i in range(5):
print(i)
PHP
for ($i = 0; $i < 5; $i++) {
echo $i;
}
⇒書き方は違いますが、「繰り返し処理」という概念は共通しています。
◆関数の考え方
Python
def greet(name):
return f"こんにちは、{name}さん"
message = greet("太郎")
print(message)
PHP
function greet($name) {
return "こんにちは、{$name}さん";
}
$message = greet("太郎");
echo $message;
《関数を定義して、引数を渡して、値を返す》という一連の流れは全く同じです。
気づいたこと:プログラミングの本質

PythonからPHPへの移行を通じて、私が最も強く感じたのは「プログラミング言語は道具である」ということです。
◆プログラミングの基礎概念は普遍的
・変数にデータを保存する
・条件によって処理を分岐させる
・同じ処理を繰り返す
・処理をまとめて関数にする
・データを構造化して扱う
これらの基礎概念は、どのプログラミング言語でも共通しています。
Pythonで学んだこれらの概念は、PHPでも、他の言語でも使える普遍的な知識です。
◆「何をしたいか」が重要
重要なのは「どの言語で書くか」ではなく、「何を実現したいか」だと感じています。
例えば「ユーザーが入力したデータをデータベースに保存する」という処理を実現したい場合、Pythonでもできるし、PHPでもできます。
書き方が違うだけで、やっていることの本質は同じなのです。
・アルゴリズムの考え方は言語に依存しない
「どういう手順で問題を解決するか」というアルゴリズムの考え方は、プログラミング言語に依存しません。
Pythonで「配列の中から最大値を見つける」アルゴリズムを理解していれば、PHPでも同じロジックで実装できます。文法は違っても、思考プロセスは同じです。
・PHPで戸惑った点
もちろん、PHPならではの特徴に戸惑った点もありました。
・連想配列の扱い
PHPの連想配列は、Pythonの辞書(dictionary)に似ていますが、書き方が少し違います。
```python
# Python
user = {
"name": "太郎",
"age": 25
}
print(user["name"])
```
```php
// PHP
$user = [
"name" => "太郎",
"age" => 25
];
echo $user["name"];
```
⇒Pythonの`:`がPHPでは`=>`になります。最初は`:`と書いてエラーを出すことが何度もありました。
・文字列の連結
```python
# Python
first_name = "山田"
last_name = "太郎"
full_name = first_name + last_name
```
```php
// PHP
$first_name = "山田";
$last_name = "太郎";
$full_name = $first_name . $last_name;
```
⇒Pythonでは`+`で文字列を連結しますが、PHPでは`.`(ドット)を使います。これも最初は混乱しました。
・型の扱い
Pythonも動的型付け言語ですが、PHPの型の扱いは少し緩い印象があります。これは便利な面もありますが、予期しない動作を引き起こすこともあるため、注意が必要です。
言語を学ぶ価値

複数の言語を学んでみて
・ Laravelという強力な味方
現在の業務では、PHPのフレームワークであるLaravelを使っています。
Laravelを使うことで、PHPの難しい部分を意識せずに開発できるようになりました。
・フレームワークの恩恵
フレームワークを使うと、認証、データベース操作、ルーティングなど、多くの機能が既に用意されています。「車輪の再発明」をせずに済むため、ビジネスロジックの実装に集中できます。
これは、Pythonで言えばDjangoやFlaskを使うようなものです。言語そのものの知識に加えて、フレームワークの使い方を学ぶことが、実務では重要になります。
・Python学習は無駄ではなかった
「せっかくPythonを勉強したのに、PHPになってしまった」――最初はそう思いましたが、今では全くそう思いません。
・学習の土台ができていた
Pythonでプログラミングの基礎を学んでいたおかげで、PHPを学ぶハードルが大きく下がりました。全く新しいことを学ぶのではなく、「書き方が違うだけ」という認識で学習を進められたのは大きなアドバンテージでした。
・問題解決の思考プロセスが身についた
「エラーが出た時にどう対処するか」「どういう順序で処理を組み立てるか」といった思考プロセスは、言語に依存しません。
Pythonで培ったこれらのスキルは、PHPでもそのまま活きています。
・複数言語を知ることの価値
Python とPHPの両方に触れたことで、「プログラミング言語は道具の一つ」という柔軟な視点を持てるようになりました。
特定の言語に固執するのではなく、目的に応じて適切な言語を選択できる柔軟性が身につきました。
将来、別の言語を学ぶ必要が出てきても、きっと同じように対応できるでしょう。
・資格としての価値
Python 3 エンジニア認定基礎試験に合格したことは、就職活動でのアピール材料になりました。「基礎的なプログラミング能力がある」「自己学習できる」ことの証明として、十分な価値がありました。
現在Pythonを使っていなくても、学習の成果が無駄になったわけでは決してありません。
これから学ぶ人へのアドバイス
・最初の言語選びに悩みすぎない
「どの言語を学ぶべきか」で悩む人は多いですが、実はそこまで重要ではありません。どの言語でも、プログラミングの基礎概念は学べます。
まずは一つの言語をしっかり学ぶこと。そうすれば、他の言語への移行も思ったより簡単です。
・基礎をしっかり学ぶ
変数、条件分岐、ループ、関数、配列――これらの基礎概念をしっかり理解することが最も重要です。
これらは全ての言語に共通する普遍的な知識だからです。
特定の言語の細かい文法よりも、プログラミングの考え方を理解することに重点を置きましょう。
・言語は手段であることを忘れない
プログラミング言語は、問題を解決するための手段です。
大切なのは「何を実現したいか」であり、「どの言語で書くか」ではありません。
柔軟な姿勢で、状況に応じて適切な言語を選択できるエンジニアを目指しましょう。
まとめ
PythonからPHPへ言語を乗り換えて、最初は戸惑いもありましたが、今では良い経験だったと思っています。
見た目は違っても、プログラミングの本質は同じ。一つの言語でしっかり基礎を学べば、他の言語への移行はそれほど難しくありません。
Pythonで学んだことは決して無駄ではなく、むしろPHPを学ぶための土台となりました。これからも、必要に応じて新しい言語を学び続けていくでしょう。
プログラミング言語は道具です。
一つの道具に固執せず、目的に応じて最適な道具を使いこなせるエンジニアを目指していきたいと思います。













