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