この記事は…
プログラミング初心者学習向きのスクリプト言語として人気のあるRubyとPHP。
Ruby基礎の復習も兼ねて、PHPではどのように書くか比較したアウトプットです。
ファイルの拡張子
Rubyのファイルは「.rb」。PHPのファイルは「.php」
記述方法
Rubyには「拝啓〜敬具」みたいなプログラムの書き出しと締めの言葉はないけれど、PHPでは開始と終了にとタグを記述する必要があります。
<?php
// ここ(タグの間)にプログラムを書く
?>
コメントアウトはRubyの場合は#を付与。
# Rubyの1行コメントアウト
=begin
Rubyの
複数行コメントアウト
ですよ
=end
PHPでは1行コメントアウトの場合//(ダブルスラッシュ2個)、複数行は/* 〜 */のようにコメントアウトします。
<?php
// 1行コメントアウト
/* PHPの
複数行コメントアウト
ですよ
*/
?>
PHPはHTMLの中に埋め込むことができます。
たとえば以下のように強調の<b>タグを記述してブラウザ(HTML出力)すると、Hello worldを太文字で出力することができます。
<b>
<?php
echo "Hello world";
?>
</b>
そうそう、Rubyでは語尾に何もつかないけれど、PHPでは**;(セミコロン)**が無いとエラーになっちゃう。
語尾に;が必要なのは、CSSに似てる親近感。
変数
PHPでは変数名の頭に$(ドルマーク)をつけると変数名になります。
Rubyでは標準出力はputsコマンドで行います。
hoge1 = "Hello"
hoge2 = "World!"
puts hoge1 + hoge2 # HelloWorld!
puts "#{hoge1} #{hoge2}" # Hello World!
PHPではechoで出力できます。
PHPで文字列を繋げる場合は、変数の前後に**.(ドット)を記述。
変数に代入する場合はRubyと同様に=(イコール)**で代入。
<?php
$hoge1 = "Hello";
$hoge2 = "World!";
echo $hoge1.$hoge2; // HelloWorld!
echo $hoge1." ".$hoge2; // Hello World!
?>
標準入力はRubyではgetsで値を取得し、chompで改行コードを削除。
hoge = gets.chomp
PHPではfgets(STDIN)で値を取得。
改行を削って変数に代入したい場合、PHPではtrimを使います。
<?php
$hoge = trim(fgets(STDIN));
?>
条件式(if文)
条件分岐のif文、Rubyで書くとこんな感じ。
# 1〜3までランダムな数を選び、変数hogeに代入
# ランダム数値の生成はrandを使用。数の範囲は(From..To)のように表現
hoge = rand(1..3)
# 1ならコンニチワ、2ならサヨナラ、3ならマタネ
if hoge == 1
puts "Hello"
elsif hoge == 2
puts "Bye"
else
puts "See you again"
end
同じ内容をPHPで書くとこんな感じ。
条件文は**(カッコ)で囲みます。
ほか{カギカッコ}や;(セミコロン)を書き忘れそうになります(苦笑)
何回か条件を書く時、Rubyではelsif**、PHPではしっかりeもつけてelseifと書きます。
<?php
// 1〜3までランダムな数を選び、変数hogeに代入
// ランダム数値の生成はrandを使用。数の範囲は(From,To)のように表現
$hoge = rand(1,3);
// 1ならコンニチワ、2ならサヨナラ、3ならマタネ
if($hoge == 1){
echo "Hello";
}elseif($hoge == 2){
echo "Bye";
}else{
echo "See you again";
}
?>
まとめ
異なる言語だから当然異なる部分はあるけれど、RubyとPHPの基本的な構文は似ている書き方もあることを知りました。
同時に学ぶことで頭の中で書き方が混ざっちゃう可能性には注意しつつ、Rubyの復習・振り返りも兼ねて、PHPも学習していこうと思います。
PHPの基礎もやったら、Ruby on Railsの復習兼ねてPHPの主要フレームワークであるLaravelの学習も進めたいです。