0
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 1 year has passed since last update.

【PHP】PHP基礎まとめ①

Last updated at Posted at 2023-03-30

スクリプトの入力

sample2-1.php
<?php
    echo "Hello PHP";
?>

ヒアドキュメント

<<<(ID)

複数行にまたがる文字列

(ID)

変数と代入

sample3-1.php
<?php
    // 変数を使った簡単なスクリプトの例
    $a = 10;
    $b = 2;
    // $cに$aと$bの和を代入
    $c = $a + $b;
    // $a+$bの計算結果を表示
    echo $a . "+" . $b . "=" . $c;
?>

var_dump関数

・$variable変数の値と型を調べる

var_dump($variable);

if文

・if文の書式
if (条件式) {
    処理
}

else文

・else文の書式

if (条件式) {
    処理1;
} else {
    処理2;
}

else if文

・else if文の書式

if (条件式①) {
    処理;
} else if (条件式②) {
    処理;
} else {
    処理;
}

switch文

・switch文の書式

switch (値) {
case 値1:
    処理;
    break;
case 値2:
    処理;
    break;
default:
    処理;
}

for文

・for文の書式

for (初期化処理; 条件式; 増分処理) {
    処理
}

while文

・ while文の書式

while  (条件式) {
    処理
}

do~while文

・whileの書式

do {
    処理
} while(条件式);

配列

・配列の生成

[値1, 値2, ・・・]

配列の操作

sample4-10.php
<?php 
    echo "(1) 配列の初期値<br>";
    $ar = ["orange", "apple", "banana"];
    print_r($ar);
    echo "<br>(2) 2番目の値を「pineapple」に変更<br>";
    $ar[2] = "pineapple";
    print_r($ar);
    echo "<br>(3) 配列の末尾の削除<br>";
    array_pop($ar);
    print_r($ar);
    echo "<br>(4) 配列の末尾に要素を追加<br>"
    array_push($ar, "cherry", "lemon");
    print_r($ar);
    echo "<br>(5) 配列の先頭を削除<br>"
    array_shift($ar);
    print_r($ar);
    echo "<br>(6)配列の先頭に要素を追加<br>"
    array_unshift($ar, "peach");
    print_r($ar);
    echo "<br>(7)配列の要素を削除<br>";
    unset($ar[2]);
    print_r($ar);
    echo "<br>(8)$arの配列の番号の振りなおす<br>";
    $ar = array_values($ar);
    print_r($ar);
?>

配列の切り取り

sample4-11.php
<?php
    echo "配列\$ar1の初期値<br>";
    $ar1 = ["a", "b", "c", "d", "e",]; // 配列$ar1の初期値
    print_r($ar1);
    echo "<br>\$ar2:1番目から2つの要素を切り取り(添字の番号0から)<br>";
    $ar2 = array_slice($ar1, 1, 2); // 要素の切り取り①
    print_r($ar2);
    echo "<br>\$ar3:1番目から2つの要素を切り取り(添字の番号を保持)<br>";
    $ar3 = array_slice($ar1, 1, 2, true); // 要素の切り取り②
    print_r($ar3);
?>

配列の結合

sample4-12.php
<?php
    // 配列$ar1、$ar2の初期値 
    $ar1 = ["a", "b"];
    $ar2 = ["c", "d", "e"];
    $result = array_merge($ar1, $ar2); // 配列を結合する 
    print_r($result);
?>

連想配列

連想配列の定義

・連想配列の定義の書式

[キー1=>値1, キー2=>値2,・・・];

要素の追加と削除

sample4-14.php
<?php
    $animals = ["dog"=>"犬", "cat"=>"猫", "bird"=>"鳥"];
    print_r($animals);
    $animals["dog"] = "いぬ"; // "dog"の値を"犬"から"いぬ"に変更
    echo "<br>";
    print_r($animals);
    $animals["horse"] = "馬"; // "horse"をキー"馬"を値として追加
    echo "<br>";
    print_r($animals);
    unset($animals["cat"]); // キー"cat"の要素を削除
    echo "<br>";
    print_r($animals);
?>

foreach文

・foreachの書式

foreach (配列変数 as 変数) {
    処理
}

foreachループでキーと値の両方を取得する

・配列のキーと値の両方を取得する書式

foreach (配列変数 as 変数A => 変数B) {
    処理
}

関数

関数の定義

・関数の定義の書式

function 関数名(引数1, 引数2, ・・・) {
    処理
    return 戻り値;
}

参照渡し

sample5-4.php
<?php
    // 値渡しの関数
    function job_set1($param) {
        $param = "会社員";
    }
     // 参照渡しの関数
    function job_set2(&$param) {
        $param = "自営業";
    }
    // 職業の初期値
    $taro_job = "公務員";
    $hanako_job ="公務員";
    // 関数の呼び出し
    job_set1($taro_job);
    job_set2($hanako_job);
    // 結果の表示
    echo "太郎の職業は{$taro_job}です。<br>";
    echo "花子のの職業は{$hanako_job}です。<br>";
?>

・実行結果

太郎の職業は公務員です。
花子の職業は自営業です。

さまざまな関数を利用する

文字列に関する関数

sample5-5.php
<?php
    // 文字列の設定
    $str = "HTMLとPHPの学習";
    echo "\$str=「{$str}」<br><br>";

    // 文字列の長さを求める(mb_strlen関数)
    $length = mb_strlen($str);
    echo "\$strの長さは{$length}文字です。<br>";

    // 文字列の5文字目から3文字切り取る(mb_substr関数)
    $sub = mb_substr($str, 5, 3);
    echo "\$strを5文字目から3文字切り取ると「{$sub}」です。<br>";

    // 文字列の中から「学習」を検索(mb_strpos関数)
    $srch = "学習";
    $result = mb_strpos($str, $srch);
    echo "「{$srch}」は、\$strの{$result}文字目に含まれます。<br>";

    // 文字列をHTMLからWebに置き換える(str_replace関数)
    $srch = "HTML";
    $replace = "Web";
    $result = str_replace($srch, $replace, $str);
    echo "\$strの「{$srch}」を「{$replace}」にすると「{$result}」になります。<br>";
?>

preg_match関数

 ・preg_match関数の書式

preg_match(パターン, 対象の文字列)

isset関数

isset関数を使ったプログラムsample5-9.php
<!DOCTYPE html>
<html>
    <head>
        <title>円の面積と円周の長さを求める</title>
        <meta charset="UTF-8">
    </head>
    <body>
        <h1>円の面積と円周の長さを求める</h1>
        <!-- 数値入力フォーム -->
        <form method="POST" action="sample5-9.php">
        <p><b>円の半径 (cm) :正の数を入力してください</b></p>
        <input type="text" name="radius">
        <br>
            <p>
            <?php
                // 半径が入力されているかの確認
                if (isset($_post["radius"])) {
                    // 半径を$rに代入し正規表現で型チェック
                    $r = $_POST["radius"];
                    if (preg_match("/^([1-9]\d*|0)(\.\d+)?$/", $r) == 1) {
                        if($r > 0.0) {
                            $pi = 3.14;
                            $area = $pi * $r * $r;
                            $cir = 2 * $pi * $r;
                            echo "<p>面積:{$area}cm2&nbsp;円周:{$cir}cm</p>";
                        } else {
                            echo "<p>半径には正の数を入力して下さい</p>";
                        }
                    } else {
                        echo "<p>半径には正の数を入力して下さい</p>";
                    }
                }
            ?>
            <input type="submit" value="計算する">
        </form>
    </body>
</html>

参考

0
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
0
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?