辅助方法
数组
array_add
如果给定的键不在数组中,array_add
函数会把给定的键值对加到数组中。
$array = ['foo' => 'bar'];
$array = array_add($array, 'key', 'value');
array_divide
array_divide
函数返回两个数组,一个包含原本数组的键,另一个包含原本数组的值。
$array = ['foo' => 'bar'];
list($keys, $values) = array_divide($array);
array_dot
array_dot
函数把多维数组扁平化成一维数组,并用「点」符号表示深度。
$array = ['foo' => ['bar' => 'baz']];
$array = array_dot($array);
// ['foo.bar' => 'baz'];
array_except
array_except
函数从数组移除给定的键值对。
$array = array_except($array, ['keys', 'to', 'remove']);
array_fetch
array_fetch
函数返回包含被选择的嵌套元素的扁平化数组。
$array = [
['developer' => ['name' => 'Taylor']],
['developer' => ['name' => 'Dayle']]
];
$array = array_fetch($array, 'developer.name');
// ['Taylor', 'Dayle'];
array_first
array_first
函数返回数组中第一个通过给定的测试为真的元素。
$array = [100, 200, 300];
$value = array_first($array, function($key, $value)
{
return $value >= 150;
});
也可以传递默认值当作第三个参数:
$value = array_first($array, $callback, $default);
array_last
array_last
函数返回数组中最后一个通过给定的测试为真的元素。
$array = [350, 400, 500, 300, 200, 100];
$value = array_last($array, function($key, $value)
{
return $value > 350;
});
// 500
也可以传递默认值当作第三个参数:
$value = array_last($array, $callback, $default);
array_flatten
array_flatten
函数将会把多维数组扁平化成一维。
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];
$array = array_flatten($array);
// ['Joe', 'PHP', 'Ruby'];
array_forget
array_forget
函数将会用「点」符号从深度嵌套数组移除给定的键值对。
$array = ['names' => ['joe' => ['programmer']]];
array_forget($array, 'names.joe');
array_get
array_get
函数将会使用「点」符号从深度嵌套数组取回给定的值。
$array = ['names' => ['joe' => ['programmer']]];
$value = array_get($array, 'names.joe');
$value = array_get($array, 'names.john', 'default');
想要把 array_get
用在对象上? 请使用 object_get
。
array_only
array_only
函数将会只从数组返回给定的键值对。
$array = ['name' => 'Joe', 'age' => 27, 'votes' => 1];
$array = array_only($array, ['name', 'votes']);
array_pluck
array_pluck
函数将会从数组拉出给定键值对的清单。
$array = [['name' => 'Taylor'], ['name' => 'Dayle']];
$array = array_pluck($array, 'name');
// ['Taylor', 'Dayle'];
array_pull
array_pull
函数将会从数组返回给定的键值对,并移除它。
$array = ['name' => 'Taylor', 'age' => 27];
$name = array_pull($array, 'name');
array_set
array_set
函数将会使用「点」符号在深度嵌套数组中指定值。
$array = ['names' => ['programmer' => 'Joe']];
array_set($array, 'names.editor', 'Taylor');
array_sort
array_sort
函数通过给定闭包的结果来排序数组。
$array = [
['name' => 'Jill'],
['name' => 'Barry']
];
$array = array_values(array_sort($array, function($value)
{
return $value['name'];
}));
array_where
使用给定的闭包过滤数组。
$array = [100, '200', 300, '400', 500];
$array = array_where($array, function($key, $value)
{
return is_string($value);
});
// Array ( [1] => 200 [3] => 400 )
head
返回数组中第一个元素
$first = head($this->returnsArray('foo'));
last
返回数组中最后一个元素。对方法链很有用。
$last = last($this->returnsArray('foo'));
路径
app_path
取得 app
文件夹的完整路径。
$path = app_path();
base_path
取得应用程序安装根目录的完整路径。
config_path
获取 config
目录的完整路径。
public_path
取得 public
文件夹的完整路径。
storage_path
取得 app/storage
文件夹的完整路径。
路由
get
注册一个 GET 路由。
get('/', function() { return 'Hello World'; });
post
注册一个 POST 路由。
post('foo/bar', 'FooController@action');
put
注册一个 PUT 路由。
put('foo/bar', 'FooController@action');
patch
注册一个 PATCH 路由。
patch('foo/bar', 'FooController@action');
delete
注册一个 DELETE 路由。
delete('foo/bar', 'FooController@action');
resource
注册一个 RESTful 的资源路由。
resource('foo', 'FooController');
字串
camel_case
把给定的字串转换成 驼峰式命名
。
$camel = camel_case('foo_bar');
// fooBar