Edited at

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


文字列の表示

自動で改行がされる「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 関数名(引数){
// 実行する処理;
}