2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者】RubyとPHPの基本的な書き方を比較してみた

Posted at

この記事は…

プログラミング初心者学習向きのスクリプト言語として人気のあるRubyPHP
Ruby基礎の復習も兼ねて、PHPではどのように書くか比較したアウトプットです。

ファイルの拡張子

Rubyのファイルは「.rb」。PHPのファイルは「.php」

記述方法

Rubyには「拝啓〜敬具」みたいなプログラムの書き出しと締めの言葉はないけれど、PHPでは開始と終了にとタグを記述する必要があります。

hoge.php
<?php
  // ここ(タグの間)にプログラムを書く
?>

コメントアウトはRubyの場合は#を付与。

hoge.rb
# Rubyの1行コメントアウト 

=begin
  Rubyの
  複数行コメントアウト
  ですよ
=end

PHPでは1行コメントアウトの場合//(ダブルスラッシュ2個)、複数行は/* 〜 */のようにコメントアウトします。

hoge.php
<?php
  // 1行コメントアウト

  /* PHPの
     複数行コメントアウト
     ですよ
  */
?>

PHPはHTMLの中に埋め込むことができます。
たとえば以下のように強調の<b>タグを記述してブラウザ(HTML出力)すると、Hello worldを太文字で出力することができます。

helloworld.php
<b>
<?php
  echo "Hello world";
?>
</b>

そうそう、Rubyでは語尾に何もつかないけれど、PHPでは**;(セミコロン)**が無いとエラーになっちゃう。
語尾に;が必要なのは、CSSに似てる親近感。

変数

PHPでは変数名の頭に$(ドルマーク)をつけると変数名になります。
Rubyでは標準出力はputsコマンドで行います。

hoge.rb
hoge1 = "Hello"
hoge2 = "World!"

puts hoge1 + hoge2         # HelloWorld! 
puts "#{hoge1} #{hoge2}"   # Hello World! 

PHPではechoで出力できます。
PHPで文字列を繋げる場合は、変数の前後に**.(ドット)を記述。
変数に代入する場合はRubyと同様に
=(イコール)**で代入。

hoge.php
<?php
  $hoge1 = "Hello";
  $hoge2 = "World!";

  echo $hoge1.$hoge2;      // HelloWorld! 
  echo $hoge1." ".$hoge2;  // Hello World! 
?>

標準入力はRubyではgetsで値を取得し、chompで改行コードを削除。

hoge.rb
  hoge = gets.chomp

PHPではfgets(STDIN)で値を取得。
改行を削って変数に代入したい場合、PHPではtrim
を使います。

hoge.php
<?php
  $hoge = trim(fgets(STDIN));
?>

条件式(if文)

条件分岐のif文、Rubyで書くとこんな感じ。

hoge.rb
# 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と書きます。

hoge.php
<?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の学習も進めたいです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?