Arr::wrap()
文字列を配列化します。
文字列が空・NULLの場合は空配列を返します。
$data = 'Laravel';
$result = Arr::wrap($data);
print_r($result);
/*
Array
(
[0] => Laravel
)
*/
// NULLの場合は空配列を返す
$data = null;
$result = Arr::wrap($data);
print_r($result);
/*
Array
(
)
*/
data_fill()
指定したキーが存在しない場合、データを追加します。
存在するキーに対してはデータ変更は行いません。
キーはドット記法で指定します。
$datas = [
['name' => 'Madai', 'price' => 1000,],
['name' => 'Kanpachi', 'price' => 1500,],
['name' => 'Saba',],
];
$result = data_fill($datas, '*.price', 100);
print_r($result);
/*
Array
(
[0] => Array
(
[name] => Madai
[price] => 1000
)
[1] => Array
(
[name] => Kanpachi
[price] => 1500
)
[2] => Array
(
[name] => Saba
[price] => 100
)
)
*/
data_get()
配列から指定したキーに対応する値を取得します。
キーはドット記法で指定します。
対応する値が複数ある場合は配列で結果を返します。
$datas = [
['name' => 'Madai', 'price' => 1000,],
['name' => 'Kanpachi', 'price' => 1500,],
['name' => 'Saba',],
];
$result = data_get($datas, '*.name');
print_r($result);
/*
Array
(
[0] => Madai
[1] => Kanpachi
[2] => Saba
)
*/
// 1次元配列の場合は文字列が返ってくる
$datas = [
'name' => 'Saba',
];
$result = data_get($datas, 'name');
print_r($result);
/*
Saba
*/
// キーが存在しない場合のデフォルト値(ワイルドカード指定した時はデフォルト値は有効にならない)
$result = data_get($datas, '*.price', 'zzz');
print_r($result);
/*
Array
(
[0] => 1000
[1] => 1500
[2] =>
)
*/
// ワイルドカードを指定したときはデータが存在しなくてもキーの数だけ空が格納された配列が返ってくる
$result = data_get($datas, '*.some', 'zzz');
print_r($result);
/*
Array
(
[0] =>
[1] =>
[2] =>
)
*/
// 特定のキーの場合、存在しなかったらデフォルト値
$result = data_get($datas, '2.price', 'zzz');
print_r($result);
/*
zzz
*/
data_set()
指定したキーに値を追加します。
キーはドット記法で指定します。
存在するキーは上書きします。
上書きしたくない時は第4引数にfalseを設定します。
$datas = [
['name' => 'Madai', 'price' => 1000,],
['name' => 'Kanpachi', 'price' => 1500,],
['name' => 'Saba',],
];
// *.priceすべて100で上書きする
data_set($datas, '*.price', 100);
print_r($datas);
/*
Array
(
[0] => Array
(
[name] => Madai
[price] => 100
)
[1] => Array
(
[name] => Kanpachi
[price] => 100
)
[2] => Array
(
[name] => Saba
[price] => 100
)
)
*/
$datas = [
['name' => 'Madai', 'price' => 1000,],
['name' => 'Kanpachi', 'price' => 1500,],
['name' => 'Saba',],
];
// *.priceが存在しないキーだけ100を設定
data_set($datas, '*.price', 100, false);
print_r($datas);
/*
Array
(
[0] => Array
(
[name] => Madai
[price] => 1000
)
[1] => Array
(
[name] => Kanpachi
[price] => 1500
)
[2] => Array
(
[name] => Saba
[price] => 100
)
)
*/
head()
配列の先頭要素を取得します。
$datas = ['Judo', 'Swimming', 'Marathon', 'Baseball'];
echo head($datas) . PHP_EOL;
/*
Judo
*/
last()
配列の最後の要素を取得します。
$datas = ['Judo', 'Swimming', 'Marathon', 'Baseball'];
echo last($datas) . PHP_EOL;
/*
Baseball
*/