UdemyでPythonを勉強した結果を残すブログ。

40歳でプログラミング始めて転職までいけるのかを実録してみます。

pythonとphpの記述比較

pythonの基礎的な記述方法は覚えたつもりなので、

phpの方も少しさらってみると用途は違うものの少しアレンジすれば

phpもできるんじゃなかろうかと思い違いをまとめてみた。

javascriptも基本かじってきているのでそれも後日復習する予定。

 

変数の定義

python = 0
$php = 0;
PHPは最初に$をつけ、最後に";"をつける

 

記述方法

PHP<?php ?>の中に記述する

 

リストの記述

numbers = [1, 3, 5]
$numbers = array(1, 3, 5)

 

コンソールに出力する方法

print("hello")

 

phpは複数ある(めんどくさい)
echo "hello";
print_r($hello) 配列やオブジェクトの値を出力
print("hello") 1つだけ出力
var_damp($now)

 

ifの記述

if a > b or a = 4:
    b = 0
elif a < b and b = 3:
    c = 0
else:
    pass

 

<?php 
    if (a > b) || a = 4 {
        b = 0
    }
    else if (a < b) && b = 3 {
        c = 0
    }
?>
場合によってhtmlを差し込みたい場合は
<?php if (a > b): ?>
<p> 上の記述の時のみ表示する</p>
<?php else if (a < b): ?>
<p> 上の記述の時のみ表示する2</p>
<?php else: ?>
<p> 上の記述の時のみ表示する3</p>
<?php endif; ?>

 

whileの記述

a = 0
while a < 5 :
    a += 1
    print(a)

 

<?php
$a = 0;
while ($a < 5) {
    $a += 1;
    echo $a;
}
?>
phpはdo-while というwhileの使い方もある
<?php
do {
    $a = mt_rand(1,5);
    $b = mt_rand(1,5);
    $c = mt_rand(1,5);
    $abc = $a + $b + $c;
    if ($abc == 6) {
        echo "finish!\n";
        break;
    }
}
    while (TRUE);
    echo "抜け出せた3つの数字は{$a}、{$b}、{$c}";
?>

 

for文の記述

for i in range(5):
    print(f"{i}回")

 

<?php
    for ($i=1; $i< 6; $i++){
        echo "{$i}回\n";
    }
?>

 

ランダムな整数の出力方法

import random
random_num = random.randint(1, 30)
print(random_num)
hp
<?php
    $random_num = mt_rand(1, 30);
    echo $random_num
?>

 

for文の入れ子記述

 


for i in range(6):
    for j in range(6):
        print(f"{i}-{j} | ", end="")
    print("")

 

<?php
    for ($i=0; $i<=3; $i++) {
        for ($j=0; $j<=5; $j++){
            echo "{$i}-{$j}" . " | ";
        }
        echo PHP_EOL;
    }
?>

 

ユーザー定義関数

def sample(n):
    add = n * 2
    return add

print (sample(11))

 

<?php
    function sample ($n) {
        $add = $n * 2;
        return $add;
    }
    echo sample(10)
?>

 

処理の中断・break・continue

numbers = [5, 10, 15, 25, -10, 40, 5]
total = 0
total2 = 0
for i in numbers:
    if i > 0:
        total += i
    else:
        print("-があったので中断します")
        break
print(total)

 

<?php
    $numbers = array(5, 10, 15, 25, -10, 40, 5);
    $count = count($numbers);
    $total = 0;
    $total2 = 0;
    for ($i = 0; $i < $count; $i++){
        $value = $numbers[$i];
        if ($value < 0){
            echo "-がありましたが計算せず続けます\n";
            continue;
        }
        $total += $value;
    }
    echo $total;
    echo PHP_EOL;
    
    for ($i = 0; $i < $count; $i++){
        $value = $numbers[$i];
        if ($value < 0){
            echo "-があったので中断します\n";
            break;
        }
        $total2 += $value;
    }
    echo $total2;
?>

 

引数の個数を限定しない記述方法

python *argsを使う
def team(team_name, *members):
    print(team_name)
    print(members)

team("peach","angela","nick","mark")

 

php ...を使う
<?php
    function team($team_name, ...$members) {
        echo $team_name . "\n";
        print_r($members);
    }

    team("peach","angela","nick","mark")
?>

 

 

用途以外の大まかな違いは、

phpは毎回<?php ~ ?>をいれる

変数には$がつく

関数はpython = def , php = function

な感じですね。

 

pythonのコードがすっきりして書きやすいのを再確認しました。

変数とか毎回$つけんのめんどくさい…笑