輔助方法

2018-12-17 10:53 更新

數(shù)組

array_add

如果給定的鍵不在數(shù)組中,array_add 函數(shù)會把給定的鍵值對加到數(shù)組中。

$array = ['foo' => 'bar'];$array = array_add($array, 'key', 'value');

           

array_divide

array_divide 函數(shù)返回兩個數(shù)組,一個包含原本數(shù)組的鍵,另一個包含原本數(shù)組的值。

$array = ['foo' => 'bar'];list($keys, $values) = array_divide($array);

           

array_dot

array_dot 函數(shù)把多維數(shù)組扁平化成一維數(shù)組,并用「點」符號表示深度。

$array = ['foo' => ['bar' => 'baz']];$array = array_dot($array);// ['foo.bar' => 'baz'];

           

array_except

array_except 函數(shù)從數(shù)組移除給定的鍵值對。

$array = array_except($array, ['keys', 'to', 'remove']);

           

array_fetch

array_fetch 函數(shù)返回包含被選擇的嵌套元素的扁平化數(shù)組。

$array = [
    ['developer' => ['name' => 'Taylor']],
    ['developer' => ['name' => 'Dayle']]];$array = array_fetch($array, 'developer.name');// ['Taylor', 'Dayle'];

           

array_first

array_first 函數(shù)返回數(shù)組中第一個通過給定的測試為真的元素。

$array = [100, 200, 300];$value = array_first($array, function($key, $value){
    return $value >= 150;});

           

也可以傳遞默認值當作第三個參數(shù):

$value = array_first($array, $callback, $default);

           

array_last

array_last 函數(shù)返回數(shù)組中最后一個通過給定的測試為真的元素。

$array = [350, 400, 500, 300, 200, 100];$value = array_last($array, function($key, $value){
    return $value > 350;});// 500

           

也可以傳遞默認值當作第三個參數(shù):

$value = array_last($array, $callback, $default);

           

array_flatten

array_flatten 函數(shù)將會把多維數(shù)組扁平化成一維。

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];$array = array_flatten($array);// ['Joe', 'PHP', 'Ruby'];

           

array_forget

array_forget 函數(shù)將會用「點」符號從深度嵌套數(shù)組移除給定的鍵值對。

$array = ['names' => ['joe' => ['programmer']]];array_forget($array, 'names.joe');

           

array_get

array_get 函數(shù)將會使用「點」符號從深度嵌套數(shù)組取回給定的值。

$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 函數(shù)將會只從數(shù)組返回給定的鍵值對。

$array = ['name' => 'Joe', 'age' => 27, 'votes' => 1];$array = array_only($array, ['name', 'votes']);

           

array_pluck

array_pluck 函數(shù)將會從數(shù)組拉出給定鍵值對的清單。

$array = [['name' => 'Taylor'], ['name' => 'Dayle']];$array = array_pluck($array, 'name');// ['Taylor', 'Dayle'];

           

array_pull

array_pull 函數(shù)將會從數(shù)組返回給定的鍵值對,并移除它。

$array = ['name' => 'Taylor', 'age' => 27];$name = array_pull($array, 'name');

           

array_set

array_set 函數(shù)將會使用「點」符號在深度嵌套數(shù)組中指定值。

$array = ['names' => ['programmer' => 'Joe']];array_set($array, 'names.editor', 'Taylor');

           

array_sort

array_sort 函數(shù)通過給定閉包的結果來排序數(shù)組。

$array = [
    ['name' => 'Jill'],
    ['name' => 'Barry']];$array = array_values(array_sort($array, function($value){
    return $value['name'];}));

           

array_where

使用給定的閉包過濾數(shù)組。

$array = [100, '200', 300, '400', 500];$array = array_where($array, function($key, $value){
    return is_string($value);});// Array ( [1] => 200 [3] => 400 )

           

head

返回數(shù)組中第一個元素

$first = head($this->returnsArray('foo'));

           

last

返回數(shù)組中最后一個元素。對方法鏈很有用。

$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

           

class_basename

取得給定類的類名稱,不含任何命名空間的名稱。

$class = class_basename('Foo\Bar\Baz');// Baz

           

e

對給定字串執(zhí)行 htmlentities,并支持 UTF-8。

$entities = e('<html>foo</html>');

           

ends_with

判斷句子結尾是否有給定的字串。

$value = ends_with('This is my name', 'name');

           

snake_case

把給定的字串轉換成 蛇形命名。

$snake = snake_case('fooBar');// foo_bar

           

str_limit

限制字串的字符數(shù)量。

str_limit($value, $limit = 100, $end = '...')

           

例子:

$value = str_limit('The PHP framework for web artisans.', 7);// The PHP...

           

starts_with

判斷句子是否開頭有給定的字串。

$value = starts_with('This is my name', 'This');

           

str_contains

判斷句子是否有給定的字串。

$value = str_contains('This is my name', 'my');

           

str_finish

加一個給定字串到句子結尾。多余一個的給定字串則移除。

$string = str_finish('this/string', '/');// this/string/

           

str_is

判斷字串是否符合給定的模式。星號可以用來當作通配符。

$value = str_is('foo*', 'foobar');

           

str_plural

把字串轉換成它的多數(shù)形態(tài) (只有英文)。

$plural = str_plural('car');

           

str_random

產(chǎn)生給定長度的隨機字串。

$string = str_random(40);

           

str_singular

把字串轉換成它的單數(shù)形態(tài) (只有英文)。

$singular = str_singular('cars');

           

str_slug

從給定字串產(chǎn)生一個對網(wǎng)址友善的「slug」。

str_slug($title, $separator);

           

例子:

$title = str_slug("Laravel 5 Framework", "-");// laravel-5-framework

           

studly_case

把給定字串轉換成 首字大寫命名。

$value = studly_case('foo_bar');// FooBar

           

trans

翻譯給定的語句。等同 Lang::get。

$value = trans('validation.required'):

           

trans_choice

隨著詞形變化翻譯給定的語句。等同 Lang::choice。

$value = trans_choice('foo.bar', $count);

           

           

網(wǎng)址

action

產(chǎn)生給定控制器行為的網(wǎng)址。

$url = action('HomeController@getIndex', $params);

           

route

產(chǎn)生給定路由名稱的網(wǎng)址。

$url = route('routeName', $params);

           

asset

產(chǎn)生資源的網(wǎng)址。

$url = asset('img/photo.jpg');

           

secure_asset

產(chǎn)生給定資源的 HTTPS HTML 鏈接。

echo secure_asset('foo/bar.zip', $title, $attributes = []);

           

secure_url

產(chǎn)生給定路徑的 HTTPS 完整網(wǎng)址。

echo secure_url('foo/bar', $parameters = []);

           

url

產(chǎn)生給定路徑的完整網(wǎng)址。

echo url('foo/bar', $parameters = [], $secure = null);

           

           

其他

csrf_token

返回 取得現(xiàn)在 CSRF token 的值。

$token = csrf_token();

           

dd

打印給定變量并結束腳本執(zhí)行。

dd($value);

           

elixir

獲取帶版本號的 Elixir 文件的路徑

elixir($file);

           

env

獲取一個環(huán)境變量的值,如果沒有則返回一個默認值。

env('APP_ENV', 'production')

           

event

觸發(fā)一個事件。

event('my.event');

           

value

如果給定的值是個 閉包,返回 閉包 的返回值。不是的話,則返回值。

$value = value(function() { return 'bar'; });

           

view

用給定的視圖路徑取得一個視圖實例。

return view('auth.login');

           

with

返回給定對象。

$value = with(new Foo)->doWork();


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號