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の平方根 |