LoginSignup
2
2

More than 3 years have passed since last update.

RubyとPHPの対応 〜超超入門〜

Last updated at Posted at 2019-05-15

文字列の表示

自動で改行がされる「Ruby:puts」に対し、「PHP:echo」は改行に記載が必要となる。

# Ruby
puts 'Hello,World'
// PHP
// セミコロンがないとエラーが起きる
echo 'Hello,World';
//echoは改行されないため複数回echoが出力される場合は,<br>タグにより改行が必要
echo 'Hello,world'.'<br>'

変数の宣言

変数の宣言の際に、PHPは変数名の頭に「$」が必要となる。

# Ruby
name = 'yamada'
// PHP
// 変数名の前に「$」が必要(呼び出しの際も必要)
$name = 'yamada';

文字列の連結

# Ruby
lesson = "Ruby"
language = "言語"
puts lesson+language
puts lesson.concat(language)
// PHP
// 文字列の連結に「.」が必要
$lesson = 'PHP;
$language = '言語';
echo $lesson.'言語';
echo $lesson.$language;
  => PHP学習
$lesson. = '入門';
  => PHP入門

変数の展開

PHPでは{}内部で変数の計算はできない。

# Ruby
name = '田中'
puts = "こんにちは、#{name}さん"
  => こんにちは、田中さん
// PHP
$name = '田中';
echo "こんにちは、{$name}さん";
  => こんにちは、田中さん

if文

# Ruby
// PHP
if 第一条件式
  # 第一条件trueの場合の処理
elsif 第二条件式 
  # 第二条件trueの場合の処理
else
  # falseの場合の処理
end
if(第一条件式){
  // 第一条件式trueの場合の処理
}elseif(第二条件式){
  // 第二条件式treeの場合の処理
}else{
  // falseの場合の処理
}

case文/switch文

# Ruby
case 変数
when 値1
  値1の時の処理
when 値2
  値2の時の処理
when 値3
  値3の時の処理
else
  いずれにも一致しなかった時の処理
end

// PHP
switch(変数){
  case 値1:
    //変数 == 値1の時の処理
    break; 
  case 値2:
    //変数 == 値1の時の処理
    break; 
     ・
     ・
     ・
  default:
    //いずれのcaseにも一致しなかった場合の処理
    break;
}

配列の作成

PHPのarray()の宣言は古いVerのPHPでの仕様となる
```

Ruby

fruits = ['りんご','バナナ','みかん']
// PHP
fruits = array('りんご','バナナ','みかん');
fruits = ['りんご','バナナ','みかん'];
```

連想配列の作成

#Ruby
user = {"name":"田中","age":24,"gender":"男"}
puts user["name"]
  => 田中
// PHP
$user = array('name'=>'田中','age'=>24,'gender'=>'男');
$user = ['name'=>'田中','age'=>24,'gender'=>'男'];
echo $user['name']
  => 田中

for文

# Ruby
for i..100  # iをいくつまで繰り返すか
  # 繰り返す処理
  i+1   # iの更新条件
end
// PHP
for($i = 1;$i <= 100;$i++){  //for(変数の初期値;繰り返し条件;変数の更新条件){
  // 繰り返す処理
}

while文

# Ruby
i = 1
while(i <= 100)
  puts i
  i += 1
end

// PHP
$i = 1;
while($i <= 100){
  echo $i;
  $i += 1;
}

繰り返し文の終了

該当箇所のループを終了させる文が「Ruby:next」に対し、「PHP:continue」となる。

# Ruby
break  //繰り返しのブロック自体の処理の終了
next   //該当の処理の終了

// PHP
break  //繰り返しのブロック自体のブロックの処理の終了
continue  //該当の処理の終了

foreach文

# Ruby
配列.each do |値変数|
  # 値変数の処理
end

//PHP
foreach(配列 as 値変数){
  // 値変数の処理
}
foreach(連想配列 as キー変数 => 値変数){
  // キー変数、値変数の処理
}

関数の作成

# Ruby
def 関数名(引数)
  #  実行する処理
end

// PHP
function 関数名(引数){
  // 実行する処理;
}
2
2
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
2