PHP 関数・ビルトイン関数

関数

function 関数名() {
    実行したい処理;
}

実行させるとき

関数名();

引数あり

function 関数名($変数名) {
    実行したい処理;
    return 変数名など;
}

実行させるとき

関数名(引数);

引数が渡されなかったときの値として初期値を設定する場合

function 関数名($変数名 = 値) {
    実行したい処理;
    return 変数名など;
}

無名関数

$変数 = function (引数) {
    実行処理;
    return 変数など値;
};

引数の型を指定

declare(strict_types=1); //型を厳密にチェックする時に記述

function 関数名(型 $変数, 型 $変数): 返り値の型を指定//返り値がない場合はvoidを記述
  • 型の前に「 ? 」をつけると「null」か「型」どちらかという指定ができる(?string = nullか文字列という指定)

可変長引数

渡された全ての引数を配列にして代入する

function 関数名(...$配列名) {
    実行処理;
}

複数の返り値

function 関数名(...$配列名) {
    実行処理;
    return [値1, 値2,...];
}

function sum(...$nums) {
    $ans = 0;
    foreach ($nums as $num) {
        $ans += $num;
    }
    return [$ans, $ans / count($nums)];
}

戻り値をまとめて変数に代入

list($変数名, $変数名...) = 関数名(引数, 引数,...);

[$変数名, $変数名...] = 関数名(引数, 引数,...);

アロー関数

fn(引数) => 実行する処理;

ビルトイン関数

sprintf

sprintf("[%10s][%3.2f]", 文字列, 浮動小数);
  • %の後に表示幅を指定できる(指定しなくてもOK)上記の10は10文字分3.2は整数が3桁と小数が2桁文という意味になる
  • %表示幅の後に型を指定(s=文字列, f=浮動小数)

  • 表示幅の前に「 - 」で左寄せ

  • 表示幅の前に「 0 」で数値の左側を0で埋める
関数 説明 日本語の場合
strlen(文字列) 文字数を返す mb_strlen(文字列)
trim(文字列) 空白を除去
strpos(文字列, '検索文字') 指定文字の位置を返す mb_strpos(文字列, '検索文字')|指定文字の位置を返す
str_replace('古文字', '置換文字', 文字列) 置換

文字列に関する関数

関数 説明
substr(文字列, 開始位置, 桁数) 文字列の指定した分を切り出す
substr_replace(文字列, 置換文字列, 開始位置, 桁数) 文字列の指定した部分を置換

正規表現を活用する関数

関数 説明
preg_match(検索パターン, 文字列, $結果を格納する変数) 最初にヒットした結果のみ変数に格納
preg_match_all(検索パターン, 文字列, $結果を格納する変数) ヒットした結果全てを配列にして格納
preg_replace(検索パターン, 置換文字, 文字列) ヒットした文字列を全て置換

数字に関する関数

関数 説明
ceil(数値) 小数点以下を切り上げ
floor(数値) 小数点以下を切り捨て
round(数値, 四捨五入する位置) 四捨五入
mt_rand(数値1, 数値2) 乱数(数値1以上、数値2以下の乱数)
max(数値,数値,...) 引数の中から最大値を返す
min(数値,数値,...) 引数の中から最小値を返す
M_PI 円周率
M_SQRT2 2の平方根