【Laravel】Laravel5.7のヘルパーを一気に勉強(10) – 文字列その4




Laravelの文字列に関するヘルパーその4です。
Laravel Tinkerで動作確認をしていますが、以下を実行していることを前提としています。

>>> use Illuminate\Support\Str;

Str::orderedUuid()

タイムスタンプが先頭になっているUUIDを生成します。
UUIDで日付順でのソートが可能になります。

>> echo Str::orderedUuid()
8d356290-859f-46b5-8106-6f5edd6b60b1
>>> echo Str::orderedUuid()
8d356292-08ee-4b01-9324-adadcfc36fac
>>> echo Str::orderedUuid()
8d356293-8239-4546-bf37-2d5c8da54621
>>> echo Str::orderedUuid()
8d356294-e662-4a6d-bb98-73832ad39772

Str::plural()

英単語のみ有効ですが、単数形を複数形に変換します。
第二引数に1を指定すると単数形、2を指定すると複数形を返します。

>>> echo Str::plural('child')
children
>>> echo Str::plural('child', 1);
child
>>> echo Str::plural('child', 2);
children
>>> echo Str::plural('children', 2);
childrens // ←これはちがいますね

Str::random()

指定した長さのランダムな文字列を生成します。

>>> echo Str::random(10);
dEVwl0AI3W
>>> echo Str::random(10);
evcDjiYkdx

Str::replaceArray()

文字列に対し、指定した文字列を指定した配列の先頭から順番に置換します。
第一引数で変換文字列、第二引数に変換するデータの配列、第三引数に文字列を指定します。

>>> $text = '1 ? 2 ? 3 ? 4 ? 5';
=> "1 ? 2 ? 3 ? 4 ? 5"
>>> echo Str::replaceArray('?', ['aaa', 'bbb'], $text);
1 aaa 2 bbb 3 ? 4 ? 5

Str::replaceFirst()

文字列に対し、指定した文字が最初に出現した値のみ指定値で置換します。

>>> $text = 'aaa bbb aaa bbb';
=> "aaa bbb aaa bbb"
>>> echo Str::replaceFirst('aaa', '111', $text);
111 bbb aaa bbb