12
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

アイレット株式会社 22新卒Advent Calendar 2022

Day 21

業務でよく使用したPHP関数、Laravelヘルパ関数

Last updated at Posted at 2022-12-20

はじめに

本記事はアイレット株式会社 22新卒 Advent Calendar 2022の記事となります。

私は最近初めてLaravelを使い、開発を行うようになりました。この記事を書いている時点では、Laravelを使い始めて約5ヶ月になります。
この記事では、これまでよく使用したり、混乱しがちであったPHP関数、Laravelヘルパ関数について、書いていきたいと思います。
記事を書くのが初めてなので、至らぬ点も多いかとは思いますが、温かい目で見守って頂けますと幸いです。

empty(), is_null(), isset()

null判定を行う際、どの関数を使って良いのかわからなくなる事が多かったので、まとめました。

empty()

null, 0, "0", false, 空配列である時にtrueを返します。

$value = 0;

empty($value) ;  // true

is_null()

nullである時のみtrueを返します。

$value = null;

is_null($value) ;  // true

isset()

定義されていて、かつnullではない時にtrueを返します。

$value = '';

isset($value) ;  // true

各関数の結果を表にまとめました。

empty() is_null() isset()
空文字('') true false true
空配列([]) true false true
0 true false true
'0' true false true
null true true false
'null' false false true
false true false true
'false' false false true

blank(), filled()

blank()は、指定された値が「空白」であるかどうかを判別します。
filled()はblank()と逆の動作をする関数です。

blank('');
blank('   ');
blank(null);
blank(collect());

// true

blank(0);
blank(true);
blank(false);

// false

-----------------------------

filled(0);
filled(true);
filled(false);

// true

filled('');
filled('   ');
filled(null);
filled(collect());

// false

配列関係の関数

配列関係の関数もよく使用しました。中でも特によく使用したものの使用法についてまとめます。

Arr:first()

条件にマッチする最初の要素を取得します。

$array = [50, 100, 150, 200];

$first = Arr::first($array, function ($value, $key) {
    return $value >= 80;
});

echo $first;  // 100

Arr::get()

ネストされた配列をドット記法で取得できます。

$array = ['products' => ['pc' => ['price' => 200000]]];

echo Arr::get($array, 'products.pc.price');     // 200000

//値が存在しない場合のデフォルト値も指定できる
echo Arr::get($array, 'products.pc.weight', 0);   // 0

Arr::has()

連想配列のキーが存在するかドット記法でチェックします。

$array = ['products' => ['name' => 'pc', 'price' => 200000]];

Arr::has($array, 'products.name');  // true

Arr::has($array, ['products.price', 'products.weight']);  // false

Arr::set()

深くネストした配列にドット記法で設定できます。

$array = ['entry' => ['user' => ['name' => 'sato']]];

Arr::set($array, 'entry.user.name', 'tanaka');

// ['entry' => ['user' => ['name' => 'tanaka']]]

in_array()

配列の中に指定した値が存在するかをチェックします。

$array = ['red', 'blue', 'green'];

in_array('blue', $array);  // true
in_array('yellow', $array);   //  false


// 第三引数にtrueを渡して、検索する値のデータ型までチェックする
$array = ['1', 10, '100'];

in_array(10, $array, true);   // true
in_array('10', $array, true); // false

最後に

以上、私がよく使用したり、混乱しがちであったPHP関数、Laravelヘルパ関数についてまとめてみました。
普段PHPやLaravelを使用している人にとっては当たり前な内容だったと思いますが、まだ使用した事がない人や、私と同じく初学者の方の参考に少しでもなれば幸いです。
記事を書くのは初めてでしたが、アウトプットをすることで、より理解を深める事ができたと思います。
まだまだ勉強中の身ですが、これからより専門的な記事が書けるように頑張っていきたいです。
最後までお読みいただきありがとうございました。

12
4
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
12
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?