LoginSignup
0
1

More than 3 years have passed since last update.

PHPのビルトイン関数まとめ(文字列や数値)

Posted at

はじめに

PHPの学習をはじめたので、アウトプットとして記載します。

ビルトイン関数とは

ビルトインとはあらかじめ組み込まれていることを意味します。
関数は自身で作ることができますが、PHPにはあらかじめ用意された関数があり、それらをビルトイン関数と呼びます。

PHPのビルトイン関数(文字列や数値)

sprintf:フォーマットした文字列を返す
%s:文字列、%d:整数、%f:浮動小数点数

phpファイル
<?php

$name = 'Apple';
$score = 32.246;

$info = "[$name][$score]";
echo $info . PHP_EOL;
=> [Apple][32.246]

$info = sprintf("[%15s][%10.2f]", $name, $score); //15は15文字、10.2は小数点含め10文字、小数点以下2文字
echo $info . PHP_EOL;
=> [          Apple][     32.25]

$info = sprintf("[%-15s][%010.2f]", $name, $score); //-15は全部で15文字で文字列は左づめ、%0は0が手前に出る
echo $info . PHP_EOL;
=> [Apple          ][0000032.25]

printf:フォーマットした文字列を出力する(sprintfとechoが合体したようなもの)

phpファイル
<?php

$name = 'Apple';
$score = 32.246;

printf("[%-15s][%010.2f]" . PHP_EOL, $name, $score);
=> [Apple          ][0000032.25]

strlen:文字列の長さを表示する

phpファイル
$input = 'dot_yamada';
echo strlen($input) . PHP_EOL;
=> 10

mb_strlen:日本語の文字列の長さを表示する

phpファイル
$input = 'こんにちは';
echo strlen($input) . PHP_EOL;
=> 5

strpos:文字列の中の指定した文字の場所を表示する

phpファイル
$input = 'dot_yamada';
echo strpos($input, '_') . PHP_EOL;
=> 3 //順番は0から始まる

mb_strpos:日本語の文字列の中の指定した文字列の場所を表示する

phpファイル
$input = 'こんにちは';
echo strpos($input, 'に') . PHP_EOL;
=> 2 //順番は0から始まる

trim:空白を取り除く

$input ='   dot_yamada';
echo $input . PHP_EOL;
=>    dot_yamada

$input = trim($input);
echo $input . PHP_EOL;
=> dot_yamada

str_replace:文字を入れ替える

$input = 'dot_yamada';
$input = str_replace('_', '-', $input); //$inputの'_'を'-'に入れ替える
echo $input . PHP_EOL;
=> dot-yamada

substr:固定長データからデータを抜き出す

$input = '20200320Item-A  1200';
$date = substr($input, 0, 8);
echo $date . PHP_EOL;
=> 20200320

substr_replace:固定長データのデータを入れ替える

$input = '20200320Item-A  1200';
$input = substr_replace($input, 'Item-B  ', 8, 8);
echo $input . PHP_EOL;
=> '20200320Item-B  1200';

number_format:数字を3桁ごとにカンマを入れる

$input = 1200
echo number_format($input) . PHP_EOL;
=> 1,200

preg_match:パターンに合致するもの一つを引き出す

$input = 'Call us at 03-3001-1256 or 03-3015-3222';
$pattern = '/\d{2}-\d{4}-\d{4}/'; //正規表現

preg_match($pattern, $input, $matches);
print_r($matches);
=> Array
(
    [0] => 03-3001-1256
)

preg_match_all:パターンに合致するもの全てを引き出す

$input = 'Call us at 03-3001-1256 or 03-3015-3222';
$pattern = '/\d{2}-\d{4}-\d{4}/';

preg_match_all($pattern, $input, $matches);
print_r($matches);
=> Array
(
    [0] => Array
        (
            [0] => 03-3001-1256
            [1] => 03-3015-3222
        )

)

preg_replace:パターンに合致するものを入れ替える

$input = 'Call us at 03-3001-1256 or 03-3015-3222';
$pattern = '/\d{2}-\d{4}-\d{4}/'; //正規表現

$input = preg_replace($pattern, '**-****-****', $input);
echo $input . PHP_EOL;
=> Call us at **-****-**** or **-****-****

ceil:数値を切り上げ、floor:数値を切り捨て、round:四捨五入

$n = 5.6283;

echo ceil($n) . PHP_EOL;
=> 6

echo floor($n) . PHP_EOL;
=> 5

echo round($n) . PHP_EOL;
=> 6

echo round($n, 2) . PHP_EOL; //小数点以下が2桁になるように四捨五入
=> 5.63

max:最大値を選択、min:最小値を選択

echo max(3, 9, 4) . PHP_EOL;
=> 9

echo min(3, 9, 4) . PHP_EOL;
=> 3

参考

ドットインストール

最後に

本投稿が初学者の復習の一助となればと幸いです。

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