辅助函数
数组
array_add
array_add
函数将给定的键/值对添加到数组中,如果给定的键在数组中不存在。
$array = array('foo' => 'bar');
$array = array_add($array, 'key', 'value');
array_divide
array_divide
函数返回两个数组,一个包含键,另一个包含原始数组的值。
$array = array('foo' => 'bar');
list($keys, $values) = array_divide($array);
array_dot
array_dot
函数将多维数组扁平化为单层数组,使用“点”表示法指示深度。
$array = array('foo' => array('bar' => 'baz'));
$array = array_dot($array);
// array('foo.bar' => 'baz');
array_except
array_except
方法从数组中移除给定的键/值对。
$array = array_except($array, array('keys', 'to', 'remove'));
array_fetch
array_fetch
方法返回一个扁平化的数组,包含所选的嵌套元素。
$array = array(
array('developer' => array('name' => 'Taylor')),
array('developer' => array('name' => 'Dayle')),
);
$array = array_fetch($array, 'developer.name');
// array('Taylor', 'Dayle');
array_first
array_first
方法返回通过给定真值测试的数组的第一个元素。
$array = 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 = 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 = array('name' => 'Joe', 'languages' => array('PHP', 'Ruby'));
$array = array_flatten($array);
// array('Joe', 'PHP', 'Ruby');
array_forget
array_forget
方法将使用“点”表示法从深层嵌套数组中移除给定的键/值对。
$array = array('names' => array('joe' => array('programmer')));
array_forget($array, 'names.joe');
array_get
array_get
方法将使用“点”表示法从深层嵌套数组中检索给定值。
$array = array('names' => array('joe' => array('programmer')));
$value = array_get($array, 'names.joe');
$value = array_get($array, 'names.john', 'default');
想要类似于 array_get
但用于对象的功能?使用 object_get
。
array_only
array_only
方法将仅返回数组中指定的键/值对。
$array = array('name' => 'Joe', 'age' => 27, 'votes' => 1);
$array = array_only($array, array('name', 'votes'));
array_pluck
array_pluck
方法将从数组中提取给定的键/值对列表。
$array = array(array('name' => 'Taylor'), array('name' => 'Dayle'));
$array = array_pluck($array, 'name');
// array('Taylor', 'Dayle');
array_pull
array_pull
方法将返回数组中的给定键/值对,并将其移除。
$array = array('name' => 'Taylor', 'age' => 27);
$name = array_pull($array, 'name');
array_set
array_set
方法将使用“点”表示法在深层嵌套数组中设置值。
$array = array('names' => array('programmer' => 'Joe'));
array_set($array, 'names.editor', 'Taylor');
array_sort
array_sort
方法根据给定的闭包结果对数组进行排序。
$array = array(
array('name' => 'Jill'),
array('name' => 'Barry'),
);
$array = array_values(array_sort($array, function($value)
{
return $value['name'];
}));
array_where
使用给定的闭包过滤数组。
$array = array(100, '200', 300, '400', 500);
$array = array_where($array, function($key, $value)
{
return is_string($value);
});
// 数组 ( [1] => 200 [3] => 400 )
head
返回数组中的第一个元素。对于 PHP 5.3.x 中的方法链非常有用。
$first = head($this->returnsArray('foo'));
last
返回数组中的最后一个元素。对于方法链非常有用。
$last = last($this->returnsArray('foo'));
路径
app_path
获取 app
目录的完全限定路径。
$path = app_path();
base_path
获取应用程序安装根目录的完全限定路径。
public_path
获取 public
目录的完全限定路径。
storage_path
获取 app/storage
目录的完全限定路径。
字符串
camel_case
将给定字符串转换为 camelCase
。
$camel = camel_case('foo_bar');
// fooBar
class_basename
获取给定类的类名,不带任何命名空间名称。
$class = class_basename('Foo\Bar\Baz');
// Baz
e
对给定字符串运行 htmlentities
,支持 UTF-8。
$entities = e('<html>foo</html>');
ends_with
确定给定的 haystack 是否以给定的 needle 结尾。
$value = ends_with('This is my name', 'name');
snake_case
将给定字符串转换为 snake_case
。
$snake = snake_case('fooBar');
// foo_bar
str_limit
限制字符串中的字符数。
str_limit($value, $limit = 100, $end = '...')
示例:
$value = str_limit('The PHP framework for web artisans.', 7);
// The PHP...
starts_with
确定给定的 haystack 是否以给定的 needle 开头。
$value = starts_with('This is my name', 'This');
str_contains
确定给定的 haystack 是否包含给定的 needle。
$value = str_contains('This is my name', 'my');
str_finish
向 haystack 添加给定 needle 的单个实例。移除任何额外的实例。
$string = str_finish('this/string', '/');
// this/string/
str_is
确定给定字符串是否匹配给定模式。可以使用星号表示通配符。
$value = str_is('foo*', 'foobar');
str_plural
将字符串转换为其复数形式(仅限英语)。
$plural = str_plural('car');
str_random
生成给定长度的随机字符串。
$string = str_random(40);
str_singular
将字符串转换为其单数形式(仅限英语)。
$singular = str_singular('cars');
studly_case
将给定字符串转换为 StudlyCase
。
$value = studly_case('foo_bar');
// FooBar
trans
翻译给定的语言行。Lang::get
的别名。
$value = trans('validation.required'):
trans_choice
翻译给定的语言行并进行词形变化。Lang::choice
的别名。
$value = trans_choice('foo.bar', $count);
URLs
action
为给定的控制器操作生成 URL。
$url = action('HomeController@getIndex', $params);
route
为给定的命名路由生成 URL。
$url = route('routeName', $params);
asset
为资产生成 URL。
$url = asset('img/photo.jpg');
link_to
生成指向给定 URL 的 HTML 链接。
echo link_to('foo/bar', $title, $attributes = array(), $secure = null);
link_to_asset
生成指向给定资产的 HTML 链接。
echo link_to_asset('foo/bar.zip', $title, $attributes = array(), $secure = null);
link_to_route
生成指向给定路由的 HTML 链接。
echo link_to_route('route.name', $title, $parameters = array(), $attributes = array());
link_to_action
生成指向给定控制器操作的 HTML 链接。
echo link_to_action('HomeController@getIndex', $title, $parameters = array(), $attributes = array());
secure_asset
生成指向给定资产的 HTML 链接,使用 HTTPS。
echo secure_asset('foo/bar.zip', $title, $attributes = array());
secure_url
生成指向给定路径的完全合格 URL,使用 HTTPS。
echo secure_url('foo/bar', $parameters = array());
url
生成指向给定路径的完全合格 URL。
echo url('foo/bar', $parameters = array(), $secure = null);
其他
csrf_token
获取当前 CSRF 令牌的值。
$token = csrf_token();
dd
转储给定变量并结束脚本执行。
dd($value);
value
如果给定值是 Closure
,则返回 Closure
返回的值。否则,返回该值。
$value = value(function() { return 'bar'; });
with
返回给定对象。对于 PHP 5.3.x 中的构造函数方法链非常有用。
$value = with(new Foo)->doWork();