概要
- PHPが用意している便利な関数について、忘備録として記載していく。
- また、PHP7系を前提とする。
- 右記
PHPの便利な関数一覧
に他の関数について記載した一覧を作成しています。
ラインナップ
- array_key_exists( )
- sprintf( )
- empty( )
- isset( )
- is_array( )
array_key_exists( )
- 指定したキーまたは添字が配列にあるかどうかを調べる
- 存在すれば true を返す
- 存在しなければ false を返す
test.php
// keyを持った連想配列を定義する
$array = [
'id' => 1,
'name' => 'Taro'
];
// keyに存在するname,存在しないcityを指定してみる
var_dump(array_key_exists('name', $array));
var_dump(array_key_exists('city', $array));
php ./test.php
bool(true)
bool(false)
sprintf( )
- フォーマットされた文字列を返す
- フォーマットの中で「%s」のような記載を「指定子」という
- 指定子が設定された箇所に値の代入が可能
- データ型によって指定子が異なる (例:%sで文字列、%dで数値)
test.php
// フォーマットを直接
echo sprintf('日本で%d番標高の高い山は、%sです。', 1, '富士山');
echo "\n"; // 出力結果が分かりやすいよう改行
// フォーマットを別で定義し代入
$format = '日本で%d番標高の高い山は、%sです。';
echo sprintf($format, 1, '富士山');
echo "\n";
// %(引数)$ で引数の順番を指定
$format = '日本で%2$d番標高の高い山は、%1$sです。';
echo sprintf($format, '富士山', 1);
echo "\n";
php ./test.php
日本で1番標高の高い山は、富士山です。
日本で1番標高の高い山は、富士山です。
日本で1番標高の高い山は、富士山です。
empty( )
- 変数が空であるかどうかを検査
- 空の場合、trueが返される
- 空でなかった場合、falseが返される
- 空であるとみなされるのは、「変数が存在しない場合」や 「変数の値が false に等しい」場合
test.php
// 各種定義
$tmp_var;
$empty_var = "";
$null_var = null;
$false_var = false;
$true_var = true;
$num_var = 123;
$str_var = "testtest";
// 結果の確認
var_dump(empty($not_var)); // 存在しない変数
var_dump(empty($tmp_var));
var_dump(empty($empty_var));
var_dump(empty($null_var));
var_dump(empty($false_var));
var_dump(empty($true_var));
var_dump(empty($num_var));
var_dump(empty($str_var));
php ./test.php
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
isset( )
- 変数が宣言されていることをチェックする
- また、値がnullではないことをチェックする
- 変数が宣言されているかつ、値がnullではない場合、trueが返される
- 変数が宣言されていない、宣言されているが値がnullの場合、falseが返される
test.php
// 各種設定
$tmp_var = "test";
$null_var = null;
// 結果の確認
var_dump(isset($tmp_var));
var_dump(isset($num_var));
var_dump(isset($not_var)); // 存在しない変数
php ./test.php
bool(true)
bool(false)
bool(false)
is_array( )
- 変数が配列かどうかチェックする
- 配列であった場合、trueが返される
- 配列でなかった場合、falseが返される
test.php
// 配列、非配列を定義
$array = array('test1', 'test2');
$no_array = 'test3';
// 結果の確認
var_dump(is_array($array));
var_dump(is_array($no_array));
php ./test.php
bool(true)
bool(false)