LoginSignup
0
0

More than 1 year has passed since last update.

PHPの便利な関数(4)

Last updated at Posted at 2021-09-06

概要

  • 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)
0
0
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
0