よく使うPHPの関数(まとめ)

2020/05/04

関数とはいくつかの処理をまとめて入れておくものです。

PHPでは最初から用意されている「組み込み関数」と自分で定義する「ユーザ定義関数」があります。

ここでは「組み込み関数」についてまとめていきます。

 

INDEX

sprintf関数

引数に指定した値を指定の形式にフォーマットした文字列を取得します。


### 構文
sprintf(文字列のフォーマット, 入力したい文字1, 入力したい文字2, ...);

### 実例①
# 「%s」は文字列、「%d」は数値を代入
$text = sprintf("本日は%d年%d月%d日です。", "2020", "4", "20");
# 「本日は2020年4月20日です。」と出力
echo $text;

### 実例② 0埋め
# 「0001111」と表示
echo sprintf('%07d', 1111);

### 実例③ ページャー
# LIMIT句($startRowから$maxRowsまで)
$sql_limit = sprintf("%s LIMIT %d, %d", $sql, $startRow, $maxRows);

 

substr関数/mb_substr関数

文字列の中から指定した位置から指定した分だけ文字を取り出します。

substr関数

### 構文
# 「文字数」は省略可
substr(対象文字列, 開始位置, 文字数);

### 実例
# 「学習張」と表示
# マルチバイト文字列(ひらがなや漢字)を切り出すことができない
echo substr('laravel学習張', 7);

 

mb_substr関数

### 構文
# 「文字数」「エンコーディング」は省略可
mb_substr(対象文字列, 開始位置, 文字数, エンコーディング);

### 実例
# 「学習張」と表示
# マルチバイト文字列(ひらがなや漢字)を切り出すことができる
echo substr('ララベル学習張', 4, 3, "UTF-8");

 

explode関数

文字列を文字で分割し、配列にして返す。


### 構文
# 第三引数は省略可
# よく似た関数にsplit関数があるが、PHP7では削除されている
explode(区切り文字, 入力文字, 最大要素数);

### 実例①
$strings = "red,blue,yellow,green";
$colors_array = explode("," , $strings);

# 入力文字を区切り文字(この場合カンマ)で分割して配列を返します
# Array( [0]=>red [1]=>blue [2]=>yellow [3]=>green )
print_r($colors_array);

### 実例②
# URLパラメータを配列に格納
$params = explode("&", $_SERVER['QUERY_STRING']);

 

strstr/stristr関数

文字列の中で特定の文字があるかないかを判断したい場合に使います。

・strstr関数 アルファベットの大文字と小文字を区別
・stristr関数 大文字と小文字を区別しない


### 構文
strstr(対象の文字列, 検索したい文字列);

### 実例①
$email = 'info@laraweb.net'

# 出力 laraweb.net 
echo strstr($email, 'l');

### 実例②
// URLに "laraweb.net" が含まれているか調べる
if(strstr($url, 'laraweb.net')){
  echo "laravel学習張のサイトです";
}else{
  echo "laravel学習張のサイトではありません";
}

 

isset関数/empty関数

変数に値がはいっているかどうかをチェックする。

isset関数

isset関数は「変数に値が入っているか」「null でないか」によって true か false を返すものです。

NULLは特別な値で、何も無いことを示します。変数にNULLが入っていても、「何もセットされていない」と判断されます。

$var=''; これは空ですが、isset関数では、空の値がセットされていると判断(true)されます。
変数そのものが定義されていない場合にfalseを返します。

### 構文
isset($変数);

if( isset($変数) ){
  変数がセットされているときの処理
}else{
  変数がセットされていないときの処理
}

### 実例
if isset(!isset($_POST['***']){
  $error = '***が設定されていません'
}

 

empty関数

emptyがtrueになる条件は

・空白の数値
・文字列、配列、数値の0
・文字列の半角の0
・NULLやFALSE
・変数が定義されただけの状態


### 構文
empty($変数);

### 実例
$var=0;
$n=empty($var);

# 出力:1
echo $n;

if($var) isset empty is_null
$var=1 true true false false
$var=""; false true true false
$var="0"; false true true false
$var=0 false true true false
$var=NULL; false false true true
$var false false true true
$var=array() false true true false
$var=array(1) true true false false

 

str_replace関数/preg_replace関数

PHPでの置換処理は str_replace関数 を使用します。

正規表現で検索したい場合は後述する preg_replace関数 を使用します。

str_replace関数

対象のデータの中に指定した文字列が存在したら置換する処理。


### 構文
str_replace(検索文字, 置換文字, 置換対象の文字列);

### 実例
$new_str = str_replace('Laravel', 'Vue.js', 'Laravel学習張');

# 出力:Vue.js学習張
echo $new_str;

 

preg_replace関数

### 構文
str_replace('/正規表現パターン/', 置換後の文字列, 置換対象の文字列);

### 実例①
$str = 'apple orange melon apple';
$new_str = str_replace('/(apple)/', 'banana', $str);

# 出力:banana orange melon banana
echo $new_str;

### 実例②
# 改行コード(\nまたは\rまたは\r\n)を改行タグに置き換える
$str = preg_replace('/\r\n|\r|\n/', '
',$str);

 
また、何か思いついたら追記していこうと思います。

以上です。

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-周辺知識

おすすめ記事

動画で学習するなら ドットインストール、Schoo、Udemyのどれがいい?

フリーランスを目指すなら フリーランスエージェントTOP3