Lodash-PHP adalah port perpustakaan Lodash JS ke PHP. Ini adalah serangkaian fungsi utilitas yang mudah digunakan untuk proyek PHP sehari-hari.
Lodash-PHP mencoba meniru lodash.js sedekat mungkin
Lodash-PHP memerlukan minimum PHP 7.2+, tetapi versi terbaru PHP selalu disarankan.
Instal Lodash-PHP melalui komposer:
$ composer require lodash-php/lodash-php
Setiap metode di Lodash-PHP merupakan fungsi terpisah yang dapat diimpor dan digunakan sendiri.
<?php
use function _ each ;
each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
Lodash-PHP juga hadir dengan kelas _
global yang dapat digunakan secara global.
<?php
_:: each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
Membuat array elemen yang dibagi menjadi beberapa kelompok dengan size
panjang. Jika array
tidak dapat dibagi rata, potongan terakhir akan menjadi elemen yang tersisa.
Argumen:
@param array $array array Array yang akan diproses.
@param int $number [size=1] Panjang setiap potongan
Kembali:
@return array Mengembalikan array potongan yang baru.
Contoh:
<?php
use function _ chunk ;
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 2 )
// => [['a', 'b'], ['c', 'd']]
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 3 )
// => [['a', 'b', 'c'], ['d']]
Membuat array dengan semua nilai palsu dihapus. Nilai-nilai false
, null
, 0
, ""
, undefined
, dan NaN
adalah falsey.
Argumen:
@param array $array Array yang akan dipadatkan.
Kembali:
@return array Mengembalikan array baru dari nilai yang difilter.
Contoh:
<?php
use function _ compact ;
compact ([ 0 , 1 , false , 2 , '' , 3 ])
// => [1, 2, 3]
Membuat array
gabungan array baru dengan array dan/atau nilai tambahan apa pun.
Argumen:
@param array $array Array yang akan digabungkan.
@param array<int, mixed> $values Nilai yang akan digabungkan.
Kembali:
@return array Mengembalikan array gabungan yang baru.
Contoh:
<?php
use function _ concat ;
$ array = [ 1 ];
$ other = concat ( $ array , 2 , [ 3 ], [[ 4 ]]);
var_dump ( $ other )
// => [1, 2, 3, [4]]
var_dump ( $ array )
// => [1]
Membuat larik nilai array
yang tidak disertakan dalam larik lain menggunakan SameValueZero
untuk perbandingan kesetaraan. Urutan dan referensi nilai hasil ditentukan oleh array pertama.
Catatan: Berbeda dengan pullAll
, metode ini mengembalikan array baru.
Argumen:
@param array $array Array yang akan diperiksa.
@param array ...$values Nilai yang akan dikecualikan.
Kembali:
@return array Mengembalikan array baru dari nilai yang difilter.
Contoh:
<?php
use function _ difference ;
difference ([ 2 , 1 ], [ 2 , 3 ])
// => [1]
Metode ini seperti difference
, hanya saja ia menerima iteratee
yang dipanggil untuk setiap elemen array
dan values
untuk menghasilkan kriteria yang digunakan untuk membandingkannya. Urutan dan referensi nilai hasil ditentukan oleh array pertama. Iteratee dipanggil dengan satu argumen: (nilai).
Catatan: Berbeda dengan pullAllBy
, metode ini mengembalikan array baru.
Argumen:
@param array $array Array yang akan diperiksa.
@param array<int, mixed> ...$values Nilai yang akan dikecualikan.
@param callable $iteratee Iteratee dipanggil per elemen.
Kembali:
@return array Mengembalikan array baru dari nilai yang difilter.
Contoh:
<?php
use function _ differenceBy ;
differenceBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], ' floor ' )
// => [1.2]
Metode ini seperti difference
kecuali ia menerima comparator
yang dipanggil untuk membandingkan elemen array
dengan values
. Urutan dan referensi nilai hasil ditentukan oleh array pertama. Komparator dipanggil dengan dua argumen: (arrVal, othVal).
Catatan: Berbeda dengan pullAllWith
, metode ini mengembalikan array baru.
Argumen:
@param array<int, mixed> $array Array yang akan diperiksa.
@param array ...$values Nilai yang akan dikecualikan.
@param callable $comparator Pembanding dipanggil per elemen.
Kembali:
@return array Mengembalikan array baru dari nilai yang difilter.
Contoh:
<?php
use function _ differenceWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
differenceWith ( $ objects , [[ ' x ' => 1 , ' y ' => 2 ]], ' _::isEqual ' )
// => [[ 'x' => 2, 'y' => 1 ]]
Membuat sepotong array
dengan n
elemen yang dihilangkan dari awal.
CATATAN: Fungsi ini akan menyusun ulang dan mengatur ulang indeks array
Argumen:
@param array $array Array yang akan dikueri.
@param int $n Jumlah elemen yang akan dijatuhkan.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ drop ;
drop ([ 1 , 2 , 3 ])
// => [2, 3]
drop ([ 1 , 2 , 3 ], 2 )
// => [3]
drop ([ 1 , 2 , 3 ], 5 )
// => []
drop ([ 1 , 2 , 3 ], 0 )
// => [1, 2, 3]
Membuat sepotong array
dengan n
elemen yang dijatuhkan dari akhir. CATATAN: Fungsi ini akan menyusun ulang dan mengatur ulang indeks array
Argumen:
@param array $array Array yang akan dikueri.
@param int $n Jumlah elemen yang akan dijatuhkan.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ dropRight ;
dropRight ([ 1 , 2 , 3 ])
// => [1, 2]
dropRight ([ 1 , 2 , 3 ], 2 )
// => [1]
dropRight ([ 1 , 2 , 3 ], 5 )
// => []
dropRight ([ 1 , 2 , 3 ], 0 )
// => [1, 2, 3]
Membuat sepotong array
tidak termasuk elemen yang dijatuhkan dari akhir. Elemen dihilangkan hingga predicate
mengembalikan falsey. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Argumen:
@param array $array Array yang akan dikueri.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ dropRightWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => true ]
]
dropRightWhile ( $ users , function ( $ user ) { return $ user [ ' active ' ]; })
// => objects for ['barney']
Membuat sepotong array
tidak termasuk elemen yang dihilangkan dari awal. Elemen dihilangkan hingga predicate
mengembalikan falsey. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Argumen:
@param array $array Array yang akan dikueri.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ dropWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
dropWhile ( $ users , function ( $ user ) { return $ user [ ' active ' ]; } )
// => objects for ['pebbles']
Memeriksa apakah predicate
mengembalikan kebenaran untuk semua elemen array
. Iterasi dihentikan setelah predicate
mengembalikan falsey. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Catatan: Metode ini mengembalikan true
untuk array kosong karena semuanya benar untuk elemen array kosong.
Argumen:
@param iterable $collection Array yang akan diulang.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return bool true
jika semua elemen lolos pemeriksaan predikat, jika tidak false
.
Contoh:
<?php
use function _ every ;
every ([ true , 1 , null , ' yes ' ], function ( $ value ) { return is_bool ( $ value );})
// => false
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => false ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ],
];
// The `matches` iteratee shorthand.
$ this -> assertFalse ( every ( $ users , [ ' user ' => ' barney ' , ' active ' => false ]));
// false
// The `matchesProperty` iteratee shorthand.
$ this -> assertTrue ( every ( $ users , [ ' active ' , false ]));
// true
// The `property` iteratee shorthand.
$ this -> assertFalse ( every ( $ users , ' active ' ));
//false
Metode ini seperti find
kecuali ia mengembalikan indeks predikat elemen pertama dan mengembalikan kebenaran alih-alih elemen itu sendiri.
Argumen:
@param array $array Array yang akan diperiksa.
@param callable $predicate Fungsi ini dipanggil per iterasi.
@param int $fromIndex Indeks yang akan dicari.
Kembali:
@return int indeks elemen yang ditemukan, jika tidak -1
.
Contoh:
<?php
use function _ findIndex ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' active ' => true ],
];
findIndex ( $ users , function ( $ o ) { return $ o [ ' user ' ] s== ' barney ' ; });
// => 0
// The `matches` iteratee shorthand.
findIndex ( $ users , [ ' user ' => ' fred ' , ' active ' => false ]);
// => 1
// The `matchesProperty` iteratee shorthand.
findIndex ( $ users , [ ' active ' , false ]);
// => 0
// The `property` iteratee shorthand.
findIndex ( $ users , ' active ' );
// => 2
Metode ini seperti findIndex
kecuali metode ini mengulangi elemen collection
dari kanan ke kiri.
Argumen:
@param array $array Array yang akan diperiksa.
@param mixed $predicate Fungsi ini dipanggil per iterasi.
@param int $fromIndex Indeks yang akan dicari.
Kembali:
@return int indeks elemen yang ditemukan, jika tidak -1
.
Contoh:
<?php
use function _ findLastIndex ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
findLastIndex ( $ users , function ( $ user ) { return $ user [ ' user ' ] === ' pebbles ' ; })
// => 2
Meratakan array
sedalam satu tingkat.
Argumen:
@param array $array Array yang akan diratakan.
Kembali:
@return array array baru yang diratakan.
Contoh:
<?php
use function _ flatten ;
flatten ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]])
// => [1, 2, [3, [4]], 5]
Meratakan array
secara rekursif.
Argumen:
@param array $array Array yang akan diratakan.
Kembali:
@return array Mengembalikan array baru yang diratakan.
Contoh:
<?php
use function _ flattenDeep ;
flattenDeep ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]);
// => [1, 2, 3, 4, 5]
Ratakan array
secara rekursif hingga waktu depth
.
Argumen:
@param array $array Array yang akan diratakan.
@param int $kedalaman Kedalaman rekursi maksimum.
Kembali:
@return array array baru yang diratakan.
Contoh:
<?php
use function _ flattenDepth ;
$ array = [ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]
flattenDepth ( $ array , 1 )
// => [1, 2, [3, [4]], 5]
flattenDepth ( $ array , 2 )
// => [1, 2, 3, [4], 5]
Kebalikan dari toPairs
, metode ini mengembalikan objek yang terdiri dari pairs
nilai kunci.
Argumen:
@param array $pairs Pasangan nilai kunci.
Kembali:
@return stdClass objek baru.
Contoh:
<?php
use function _ fromPairs ;
fromPairs ([[ ' a ' , 1 ], [ ' b ' , 2 ]])
// => stdClass(
// 'a' => 1,
//'b' => 2,
// )
Mendapatkan elemen pertama dari array
.
Argumen:
@param array $array Array yang akan dikueri.
Kembali:
@return mixed Mengembalikan elemen pertama array
.
Contoh:
<?php
use function _ head ;
head ([ 1 , 2 , 3 ])
// => 1
head ([])
// => null
Mendapatkan indeks tempat kemunculan value
pertama ditemukan dalam array
menggunakan SameValueZero
untuk perbandingan kesetaraan. Jika fromIndex
negatif, ini digunakan sebagai offset dari akhir array
.
Argumen:
@param array $array Array yang akan diperiksa.
@param mixed $value Nilai yang akan dicari.
@param int $fromIndex Indeks yang akan dicari.
Kembali:
@return int indeks nilai yang cocok, jika tidak -1
.
Contoh:
<?php
use function _ indexOf ;
indexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 1
// Search from the `fromIndex`.
indexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 3
Mendapatkan semuanya kecuali elemen terakhir dari array
.
Argumen:
@param array $array Array yang akan dikueri.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ initial ;
initial ([ 1 , 2 , 3 ])
// => [1, 2]
Membuat larik nilai unik yang disertakan dalam semua larik tertentu menggunakan SameValueZero
untuk perbandingan kesetaraan. Urutan dan referensi nilai hasil ditentukan oleh array pertama.
Argumen:
@param array ...$array
Kembali:
@return array array baru dari nilai-nilai yang berpotongan.
Contoh:
<?php
use function _ intersection ;
intersection ([ 2 , 1 ], [ 2 , 3 ])
// => [2]
Metode ini seperti intersection
hanya saja metode ini menerima iteratee
yang dipanggil untuk setiap elemen dari setiap arrays
untuk menghasilkan kriteria yang digunakan untuk membandingkannya. Urutan dan referensi nilai hasil ditentukan oleh array pertama. Iteratee dipanggil dengan satu argumen: (nilai).
Argumen:
@param array<int, campuran> ...$array
@param callable $iteratee Iteratee dipanggil per elemen.
Kembali:
@return array array baru dari nilai-nilai yang berpotongan.
Contoh:
<?php
use function _ intersectionBy ;
intersectionBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], Math.floor)
// => [2.1]
// The `property` iteratee shorthand.
intersectionBy ([[ ' x ' => 1 ]], [[ ' x ' => 2 ], [ ' x ' => 1 ]], ' x ' );
// => [[ 'x' => 1 ]]
Metode ini seperti intersection
hanya saja ia menerima comparator
yang dipanggil untuk membandingkan elemen arrays
. Urutan dan referensi nilai hasil ditentukan oleh array pertama. Komparator dipanggil dengan dua argumen: (arrVal, othVal).
Argumen:
@param array ...$array
@param callable $comparator Pembanding dipanggil per elemen.
Kembali:
@return array array baru dari nilai-nilai yang berpotongan.
Contoh:
<?php
use function _ intersectionWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
$ others = [[ ' x ' => 1 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
intersectionWith ( $ objects , $ others , ' _::isEqual ' )
// => [[ 'x' => 1, 'y' => 2 ]]
Mendapatkan elemen terakhir dari array
.
Argumen:
@param array $array Array yang akan dikueri.
Kembali:
@return mixed Mengembalikan elemen terakhir dari array
.
Contoh:
<?php
use function _ last ;
last ([ 1 , 2 , 3 ])
// => 3
Metode ini seperti indexOf
kecuali metode ini mengulangi elemen array
dari kanan ke kiri.
Argumen:
@param array $array Array yang akan diperiksa.
@param mixed $value Nilai yang akan dicari.
@param int $fromIndex Indeks yang akan dicari.
Kembali:
@return int indeks nilai yang cocok, jika tidak -1
.
Contoh:
<?php
use function _ lastIndexOf ;
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 3
// Search from the `fromIndex`.
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 1
Mendapatkan elemen pada indeks n
array
. Jika n
negatif, elemen ke-n dari akhir dikembalikan.
Argumen:
@param array $array Array yang akan dikueri.
@param int $n Indeks elemen yang akan dikembalikan.
Kembali:
@return mixed Mengembalikan elemen ke-n dari array
.
Contoh:
<?php
use function _ nth ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
nth ( $ array , 1 )
// => 'b'
nth ( $ array , - 2 )
// => 'c'
Menghapus semua nilai yang diberikan dari array
menggunakan SameValueZero
untuk perbandingan kesetaraan.
Catatan: Berbeda dengan without
, metode ini mengubah array
. Gunakan remove
untuk menghapus elemen dari array berdasarkan predikat.
Argumen:
@param array $array Array yang akan diubah.
@param array<int, string> $values Nilai yang akan dihapus.
Kembali:
@kembalikan array
Contoh:
<?php
use function _ pull ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pull ( $ array , ' a ' , ' c ' )
var_dump ( $ array )
// => ['b', 'b']
Metode ini seperti pull
hanya saja ia menerima serangkaian nilai untuk dihapus.
Catatan: Tidak seperti difference
, metode ini mengubah array
.
Argumen:
@param array $array Array yang akan diubah.
@param array $values Nilai yang akan dihapus.
Kembali:
@kembalikan array
larik.
Contoh:
<?php
use function _ pullAll ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pullAll ( $ array , [ ' a ' , ' c ' ])
var_dump ( $ array )
// => ['b', 'b']
Metode ini seperti pullAll
kecuali metode ini menerima iteratee
yang dipanggil untuk setiap elemen array
dan values
untuk menghasilkan kriteria yang digunakan untuk membandingkannya. Iteratee dipanggil dengan satu argumen: (nilai).
Catatan: Berbeda dengan differenceBy
, metode ini mengubah array
.
Argumen:
@param array $array Array yang akan diubah.
@param array $values Nilai yang akan dihapus.
@param callable $iteratee Iteratee dipanggil per elemen.
Kembali:
@kembalikan array
larik.
Contoh:
<?php
use function _ pullAllBy ;
$ array = [[ ' x ' => 1 ], [ ' x ' => 2 ], [ ' x ' => 3 ], [ ' x ' => 1 ]]
pullAllBy ( $ array , [[ ' x ' => 1 ], [ ' x ' => 3 ]], ' x ' )
var_dump ( $ array )
// => [[ 'x' => 2 ]]
Metode ini seperti pullAll
kecuali ia menerima comparator
yang dipanggil untuk membandingkan elemen array
dengan values
. Komparator dipanggil dengan dua argumen: (arrVal, othVal).
Catatan: Berbeda dengan differenceWith
, metode ini mengubah array
.
Argumen:
@param array $array Array yang akan diubah.
@param array $values Nilai yang akan dihapus.
@param callable $comparator Pembanding dipanggil per elemen.
Kembali:
@kembalikan array
larik.
Contoh:
<?php
use function _ pullAllWith ;
$ array = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 3 , ' y ' => 4 ], [ ' x ' => 5 , ' y ' => 6 ]]
pullAllWith ( $ array , [[ ' x ' => 3 , ' y ' => 4 ]], ' _isEqual ' )
var_dump ( $ array )
// => [[ 'x' => 1, 'y' => 2 ], [ 'x' => 5, 'y' => 6 ]]
Menghapus elemen dari array
yang sesuai dengan indexes
dan mengembalikan array elemen yang dihapus.
Catatan: Berbeda dengan at
, metode ini mengubah array
.
Argumen:
@param array $array Array yang akan diubah.
@param (int | int[]) $indexes Indeks elemen yang akan dihapus.
Kembali:
@return array array baru dari elemen yang dihapus.
Contoh:
<?php
use function _ pullAt ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
$ pulled = pullAt ( $ array , [ 1 , 3 ])
var_dump ( $ array )
// => ['a', 'c']
var_dump ( $ pulled )
// => ['b', 'd']
Menghapus semua elemen dari array
yang predicate
mengembalikan kebenaran dan mengembalikan array elemen yang dihapus. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Catatan: Tidak seperti filter
, metode ini mengubah array
. Gunakan pull
untuk menarik elemen dari array berdasarkan nilai.
Argumen:
@param array $array Array yang akan diubah.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array array baru dari elemen yang dihapus.
Contoh:
<?php
use function _ remove ;
$ array = [ 1 , 2 , 3 , 4 ]
$ evens = remove ( $ array , function ( $ n ) { return $ n % 2 === 0 ; })
var_dump ( $ array )
// => [1, 3]
var_dump ( $ evens )
// => [2, 4]
Mendapat elemen acak dari array
.
Argumen:
@param array $array Array yang akan dijadikan sampel.
Kembali:
@return mixed Mengembalikan elemen acak.
Contoh:
<?php
use function _ sample ;
sample ([ 1 , 2 , 3 , 4 ])
// => 2
Mendapat n
elemen acak dengan kunci unik dari array
hingga ukuran array
.
Argumen:
@param array $array Array yang akan dijadikan sampel.
@param int $n Jumlah elemen yang akan dijadikan sampel.
Kembali:
@return array elemen acak.
Contoh:
<?php
use function _ sampleSize ;
sampleSize ([ 1 , 2 , 3 ], 2 )
// => [3, 1]
sampleSize ([ 1 , 2 , 3 ], 4 )
// => [2, 3, 1]
Membuat array nilai yang diacak
Argumen:
@param array $array Array yang akan diacak.
Kembali:
@return array array baru yang diacak.
Contoh:
<?php
use function _ shuffle ;
shuffle ([ 1 , 2 , 3 , 4 ])
// => [4, 1, 3, 2]
Membuat sepotong array
dari start
hingga, tetapi tidak termasuk, end
.
Argumen:
@param array $array Array yang akan diiris.
@param int $start Posisi awal.
@param int $end Posisi akhir.
Kembali:
@return array potongan array
.
Mendapatkan semuanya kecuali elemen pertama array
.
Argumen:
@param array $array Array yang akan dikueri.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ tail ;
tail ([ 1 , 2 , 3 ])
// => [2, 3]
Membuat sepotong array
dengan n
elemen yang diambil dari awal.
Argumen:
@param array $array Array yang akan dikueri.
@param int $n Jumlah elemen yang akan diambil.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ take ;
take ([ 1 , 2 , 3 ])
// => [1]
take ([ 1 , 2 , 3 ], 2 )
// => [1, 2]
take ([ 1 , 2 , 3 ], 5 )
// => [1, 2, 3]
take ([ 1 , 2 , 3 ], 0 )
// => []
Membuat sepotong array
dengan n
elemen yang diambil dari akhir.
Argumen:
@param array $array Array yang akan dikueri.
@param int $n Jumlah elemen yang akan diambil.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ takeRight ;
takeRight ([ 1 , 2 , 3 ])
// => [3]
takeRight ([ 1 , 2 , 3 ], 2 )
// => [2, 3]
takeRight ([ 1 , 2 , 3 ], 5 )
// => [1, 2, 3]
takeRight ([ 1 , 2 , 3 ], 0 )
// => []
Membuat sepotong array
dengan elemen yang diambil dari akhir. Elemen diambil sampai predicate
mengembalikan falsey. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Argumen:
@param array $array Array yang akan dikueri.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ takeRightWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => true ]
];
takeRightWhile ( $ users , function ( $ value ) { return $ value [ ' active ' ]; })
// => objects for ['fred', 'pebbles']
Membuat sepotong array
dengan elemen yang diambil dari awal. Elemen diambil sampai predicate
mengembalikan falsey. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Argumen:
@param array $array Array yang akan dikueri.
@param mixed $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array potongan array
.
Contoh:
<?php
use function _ takeWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
takeWhile ( $ users , function ( $ value ) { return $ value [ ' active ' ]; })
// => objects for ['barney', 'fred']
Membuat larik nilai unik, secara berurutan, dari semua larik tertentu menggunakan SameValueZero
untuk perbandingan kesetaraan.
Argumen:
@param array ...$arrays Array yang akan diperiksa.
Kembali:
@return array array baru dari nilai gabungan.
Contoh:
<?php
use function _ union ;
union ([ 2 ], [ 1 , 2 ])
// => [2, 1]
Metode ini seperti union
hanya saja metode ini menerima iteratee
yang dipanggil untuk setiap elemen dari setiap arrays
untuk menghasilkan kriteria yang digunakan untuk menghitung keunikan. Nilai hasil dipilih dari larik pertama tempat nilai tersebut muncul. Iteratee dipanggil dengan satu argumen: (nilai).
Argumen:
@param array<int, mixed> ...$arrays Array yang akan diperiksa.
@param callable $iteratee Iteratee dipanggil per elemen.
Kembali:
@return array array baru dari nilai gabungan.
Contoh:
<?php
use function _ unionBy ;
unionBy ([ 2.1 ], [ 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
// The `_::property` iteratee shorthand.
unionBy ([[ ' x ' => 1 ]], [[ ' x ' => 2 ], [ ' x ' => 1 ]], ' x ' );
// => [['x' => 1], ['x' => 2]]
Metode ini seperti union
hanya saja metode ini menerima comparator
yang dipanggil untuk membandingkan elemen arrays
. Nilai hasil dipilih dari larik pertama tempat nilai tersebut muncul. Komparator dipanggil dengan dua argumen: (arrVal, othVal).
Argumen:
@param array<int, mixed> ...$arrays Array yang akan diperiksa.
@param callable $comparator Pembanding dipanggil per elemen.
Kembali:
@return array array baru dari nilai gabungan.
Contoh:
<?php
use function _ unionWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
$ others = [[ ' x ' => 1 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
unionWith ( $ objects , $ others , ' _::isEqual ' )
// => [['x' => 1, 'y' => 2], ['x' => 2, 'y' => 1], ['x' => 1, 'y' => 1]]
Membuat versi array bebas duplikat, menggunakan SameValueZero
untuk perbandingan kesetaraan, yang hanya menyimpan kemunculan pertama setiap elemen. Urutan nilai hasil ditentukan oleh urutan kemunculannya dalam array.
Argumen:
@param array $array Array yang akan diperiksa.
Kembali:
@return array array bebas duplikat yang baru.
Contoh:
<?php
use function _ uniq ;
uniq ([ 2 , 1 , 2 ])
// => [2, 1]s
Metode ini mirip dengan uniq
hanya saja metode ini menerima iteratee
yang dipanggil untuk setiap elemen dalam array
guna menghasilkan kriteria yang digunakan untuk menghitung keunikan. Urutan nilai hasil ditentukan oleh urutan kemunculannya dalam array. Iteratee dipanggil dengan satu argumen: (nilai).
Argumen:
@param array $array Array yang akan diperiksa.
@param mixed $iteratee Iteratee dipanggil per elemen.
Kembali:
@return array array bebas duplikat yang baru.
Contoh:
<?php
use function _ uniqBy ;
uniqBy ([ 2.1 , 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
Metode ini seperti uniq
hanya saja ia menerima comparator
yang dipanggil untuk membandingkan elemen array
. Urutan nilai hasil ditentukan oleh urutan kemunculannya dalam array. Komparator dipanggil dengan dua argumen: (arrVal, othVal).
Argumen:
@param array $array Array yang akan diperiksa.
@param callable $comparator Pembanding dipanggil per elemen.
Kembali:
@return array array bebas duplikat yang baru.
Contoh:
<?php
use function _ uniqWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
uniqWith ( $ objects , ' _::isEqual ' )
// => [['x' => 1, 'y' => 2], ['x' => 2, 'y' => 1]]
Metode ini seperti zip
hanya saja metode ini menerima array elemen yang dikelompokkan dan membuat array yang mengelompokkan kembali elemen ke konfigurasi pra-zip.
Argumen:
@param array $array Array elemen yang dikelompokkan untuk diproses.
Kembali:
@return array array baru dari elemen yang dikelompokkan kembali.
Contoh:
<?php
use function _ unzip ;
$ zipped = zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
unzip ( $ zipped )
// => [['a', 'b'], [1, 2], [true, false]]
Metode ini seperti unzip
kecuali metode ini menerima iteratee
untuk menentukan bagaimana nilai yang dikelompokkan kembali harus digabungkan. Iteratee dipanggil dengan elemen dari setiap grup: (...grup).
Argumen:
@param array $array Array elemen yang dikelompokkan untuk diproses.
@param (callable | null) $iteratee Fungsi untuk menggabungkan nilai yang dikelompokkan kembali.
Kembali:
@return array array baru dari elemen yang dikelompokkan kembali.
Contoh:
<?php
use function _ unzipWith ;
$ zipped = zip ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ])
// => [[1, 10, 100], [2, 20, 200]]
unzipWith (zipped, ' _::add ' )
// => [3, 30, 300]
Membuat array yang mengecualikan semua nilai yang diberikan menggunakan SameValueZero
untuk perbandingan kesetaraan.
Catatan: Berbeda dengan pull
, metode ini mengembalikan array baru.
Argumen:
@param array $array Array yang akan diperiksa.
@param array<int, mixed> $values Nilai yang akan dikecualikan.
Kembali:
@return array array baru dari nilai yang difilter.
Contoh:
<?php
use function _ without ;
without ([ 2 , 1 , 2 , 3 ], 1 , 2 )
// => [3]
Membuat array elemen yang dikelompokkan, yang pertama berisi elemen pertama dari array tertentu, yang kedua berisi elemen kedua dari array tertentu, dan seterusnya.
Argumen:
@param array ...$arrays Array yang akan diproses.
Kembali:
@return array array baru dari elemen yang dikelompokkan.
Contoh:
<?php
use function _ zip ;
zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
Metode ini mirip dengan fromPairs
hanya saja metode ini menerima dua larik, satu pengidentifikasi properti, dan satu lagi nilai terkait.
Argumen:
@param array $props Pengidentifikasi properti.
@param array $values Nilai properti.
Kembali:
@return objek objek baru.
Contoh:
<?php
use function _ zipObject ;
zipObject ([ ' a ' , ' b ' ], [ 1 , 2 ])
/* => object(stdClass) #210 (2) {
[ " a " ] => int( 1 )
[ " b " ] => int( 2 )
}
*/
Metode ini seperti zipObject
hanya saja mendukung jalur properti.
Argumen:
@param array $props Pengidentifikasi properti.
@param array $values Nilai properti.
Kembali:
@return stdClass objek baru.
Contoh:
<?php
use function _ zipObjectDeep ;
zipObjectDeep ([ ' a.b[0].c ' , ' a.b[1].d ' ], [ 1 , 2 ])
/* => class stdClass #20 (1) {
public $ a => class stdClass #19 (1) {
public $ b =>
array ( 2 ) {
[ 0 ] => class stdClass #17 (1) {
public $ c => int( 1 )
}
[ 1 ] => class stdClass #18 (1) {
public $ d => int( 2 )
}
}
}
}
*/
Metode ini seperti zip
hanya saja metode ini menerima iteratee
untuk menentukan bagaimana nilai yang dikelompokkan harus digabungkan. Iteratee dipanggil dengan elemen dari setiap grup: (...grup).
Argumen:
@param array<int, (array | callable)> ...$arrays Array yang akan diproses.
@param callable $iteratee Fungsi untuk menggabungkan nilai yang dikelompokkan.
Kembali:
@return array array baru dari elemen yang dikelompokkan.
Contoh:
<?php
use function _ zipWith ;
zipWith ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ], function ( $ a , $ b , $ c ) { return $ a + $ b + $ c ; })
// => [111, 222]
Membuat array yang terdiri dari kunci yang dihasilkan dari hasil menjalankan setiap elemen collection
melalui iteratee
. Nilai yang sesuai dari setiap kunci adalah berapa kali kunci dikembalikan oleh iteratee
. Iteratee dipanggil dengan satu argumen: (nilai).
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $iteratee Iteratee untuk mengubah kunci.
Kembali:
@return array Mengembalikan objek agregat yang disusun.
Contoh:
<?php
use function _ countBy ;
countBy ([ 6.1 , 4.2 , 6.3 ], ' floor ' );
// => ['6' => 2, '4' => 1]
// The `property` iteratee shorthand.
countBy ([ ' one ' , ' two ' , ' three ' ], ' strlen ' );
// => ['3' => 2, '5' => 1]
Iterasi elemen collection
dan panggil iteratee
untuk setiap elemen. Iteratee dipanggil dengan tiga argumen: (nilai, indeks|kunci, koleksi). Fungsi Iteratee dapat keluar dari iterasi lebih awal dengan mengembalikan false
secara eksplisit.
Catatan: Seperti metode "Koleksi" lainnya, objek dengan properti "panjang" diiterasi seperti array. Untuk menghindari perilaku ini gunakan forIn
atau forOwn
untuk iterasi objek.
Argumen:
@param (array | iterable | object) $collection Koleksi yang akan diulang.
@param callable $iteratee Fungsi ini dipanggil per iterasi.
Kembali:
@return (array | objek) Mengembalikan collection
.
Contoh:
<?php
use function _ each ;
each ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `1` then `2`.
each (( object ) [ ' a ' => 1 , ' b ' => 2 ], function ( $ value , $ key ) { echo $ key ; });
// => Echoes 'a' then 'b' (iteration order is not guaranteed).
Metode ini sama seperti each
hanya saja metode ini mengulangi elemen collection
dari kanan ke kiri.
Argumen:
@param (array | iterable | object) $collection Koleksi yang akan diulang.
@param callable $iteratee Fungsi ini dipanggil per iterasi.
Kembali:
@return (array | objek) Mengembalikan collection
.
Contoh:
<?php
use function _ eachRight ;
eachRight ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `2` then `1`.
Iterasi elemen array
, mengembalikan array dari semua elemen predicate
mengembalikan kebenaran. Predikat dipanggil dengan tiga argumen: (nilai, indeks, array).
Catatan: Berbeda dengan remove
, metode ini mengembalikan array baru.
Argumen:
@param iterable $array Array yang akan diulang.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array array baru yang difilter.
Contoh:
<?php
use function _ filter ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => true ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ]
];
filter ( $ users , function ( $ o ) { return ! $ o [ ' active ' ]; });
// => objects for ['fred']
// The `matches` iteratee shorthand.
filter ( $ users , [ ' age ' => 36 , ' active ' => true ]);
// => objects for ['barney']
// The `matchesProperty` iteratee shorthand.
filter ( $ users , [ ' active ' , false ]);
// => objects for ['fred']
// The `property` iteratee shorthand.
filter ( $ users , ' active ' );
// => objects for ['barney']
Mengulangi elemen collection
, mengembalikan predicate
elemen pertama mengembalikan kebenaran. Predikat dipanggil dengan tiga argumen: (nilai, indeks|kunci, koleksi).
Argumen:
@param iterable $collection Koleksi yang akan diperiksa.
@param callable $predicate Fungsi ini dipanggil per iterasi.
@param int $fromIndex Indeks yang akan dicari.
Kembali:
@return mixed Mengembalikan elemen yang cocok, jika tidak null
.
Contoh:
<?php
use function _ find ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => true ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' age ' => 1 , ' active ' => true ]
];
find ( $ users , function ( $ o ) { return $ o [ ' age ' ] < 40 ; });
// => object for 'barney'
// The `matches` iteratee shorthand.
find ( $ users , [ ' age ' => 1 , ' active ' => true ]);
// => object for 'pebbles'
// The `matchesProperty` iteratee shorthand.
find ( $ users , [ ' active ' , false ]);
// => object for 'fred'
// The `property` iteratee shorthand.
find ( $ users , ' active ' );
// => object for 'barney'
Metode ini seperti find
kecuali metode ini mengulangi elemen collection
dari kanan ke kiri.
Argumen:
@param iterable $collection Koleksi yang akan diperiksa.
@param callable $predicate Fungsi ini dipanggil per iterasi.
@param int $fromIndex Indeks yang akan dicari.
Kembali:
@return mixed Mengembalikan elemen yang cocok, jika tidak undefined
.
Contoh:
<?php
use function _ findLast ;
findLast ([ 1 , 2 , 3 , 4 ], function ( $ n ) { return $ n % 2 == 1 ; })
// => 3
Membuat array nilai yang diratakan dengan menjalankan setiap elemen dalam collection
melalui iteratee
dan meratakan hasil yang dipetakan. Iteratee dipanggil dengan tiga argumen: (nilai, indeks|kunci, koleksi).
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $iteratee Fungsi ini dipanggil per iterasi.
Kembali:
@return array array baru yang diratakan.
Contoh:
<?php
use function _ flatMap ;
function duplicate ( $ n ) {
return [ $ n , $ n ]
}
flatMap ([ 1 , 2 ], ' duplicate ' )
// => [1, 1, 2, 2]
Metode ini mirip dengan flatMap
hanya saja metode ini meratakan hasil yang dipetakan secara rekursif.
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $iteratee Fungsi ini dipanggil per iterasi.
Kembali:
@return array Mengembalikan array baru yang diratakan.
Contoh:
<?php
use function _ flatMapDeep ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]];
}
flatMapDeep ([ 1 , 2 ], ' duplicate ' );
// => [1, 1, 2, 2]
Metode ini mirip dengan flatMap
hanya saja metode ini secara rekursif meratakan hasil yang dipetakan hingga waktu depth
.
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $iteratee Fungsi ini dipanggil per iterasi.
@param int $kedalaman Kedalaman rekursi maksimum.
Kembali:
@return array array baru yang diratakan.
Contoh:
<?php
use function _ flatMapDepth ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]]
}
flatMapDepth ([ 1 , 2 ], ' duplicate ' , 2 )
// => [[1, 1], [2, 2]]
Membuat array yang terdiri dari kunci yang dihasilkan dari hasil menjalankan setiap elemen collection
melalui iteratee
. Urutan nilai yang dikelompokkan ditentukan oleh urutan kemunculannya dalam collection
. Nilai yang sesuai dari setiap kunci adalah serangkaian elemen yang bertanggung jawab untuk menghasilkan kunci. Iteratee dipanggil dengan satu argumen: (nilai).
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $iteratee Iteratee untuk mengubah kunci.
Kembali:
@return array Mengembalikan objek agregat yang disusun.
Contoh:
<?php
use function _ groupBy ;
groupBy ([ 6.1 , 4.2 , 6.3 ], ' floor ' );
// => ['6' => [6.1, 6.3], '4' => [4.2]]
groupBy ([ ' one ' , ' two ' , ' three ' ], ' strlen ' );
// => ['3' => ['one', 'two'], '5' => ['three']]
Memanggil metode di path
setiap elemen dalam collection
, mengembalikan array hasil setiap metode yang dipanggil. Argumen tambahan apa pun diberikan untuk setiap metode yang dipanggil. Jika path
adalah sebuah fungsi, jalur ini dipanggil, dan this
terikat pada, setiap elemen dalam collection
.
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param (array | callable | string) $path Jalur metode yang akan dipanggil atau fungsi yang dipanggil per iterasi.
@param array $args Argumen untuk memanggil setiap metode.
Kembali:
@return array array hasil.
Contoh:
<?php
use function _ invokeMap ;
invokeMap ([[ 5 , 1 , 7 ], [ 3 , 2 , 1 ]], function ( $ result ) { sort ( $ result ); return $ result ;})
// => [[1, 5, 7], [1, 2, 3]]
invokeMap ([ 123 , 456 ], ' str_split ' )
// => [['1', '2', '3'], ['4', '5', '6']]
Membuat objek yang terdiri dari kunci yang dihasilkan dari hasil menjalankan setiap elemen collection
melalui iteratee
. Nilai yang sesuai dari setiap kunci adalah elemen terakhir yang bertanggung jawab untuk menghasilkan kunci. Iteratee dipanggil dengan satu argumen: (nilai).
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $iteratee Iteratee untuk mengubah kunci.
Kembali:
@return array objek agregat yang disusun.
Contoh:
<?php
use function _ keyBy ;
$ array = [
[ ' direction ' => ' left ' , ' code ' => 97 ],
[ ' direction ' => ' right ' , ' code ' => 100 ],
];
keyBy ( $ array , function ( $ o ) { return chr ( $ o [ ' code ' ]); })
// => ['a' => ['direction' => 'left', 'code' => 97], 'd' => ['direction' => 'right', 'code' => 100]]
keyBy ( $ array , ' direction ' );
// => ['left' => ['direction' => 'left', 'code' => 97], 'right' => ['direction' => 'right', 'code' => 100]]
Membuat array nilai dengan menjalankan setiap elemen dalam collection
melalui iteratee
. Iteratee dipanggil dengan tiga argumen: (nilai, indeks|kunci, koleksi).
Banyak metode lodash-php dijaga agar berfungsi sebagai iterasi untuk metode seperti _::every
, _::filter
, _::map
, _::mapValues
, _::reject
, dan _::some
.
Metode yang dijaga adalah: ary
, chunk
, curry
, curryRight
, drop
, dropRight
, every
, fill
, invert
, parseInt
, random
, range
, rangeRight
, repeat
, sampleSize
, slice
, some
, sortBy
, split
, take
, takeRight
, template
, trim
, trimEnd
, trimStart
, dan words
Argumen:
@param (array | objek) $collection Koleksi yang akan diulang.
@param (callable | string | array) $iteratee Fungsi ini dipanggil per iterasi.
Kembali:
@return array Mengembalikan array baru yang dipetakan.
Contoh:
<?php
use function _ map ;
function square ( int $ n ) {
return $ n * $ n ;
}
map ([ 4 , 8 ], $ square );
// => [16, 64]
map (( object ) [ ' a ' => 4 , ' b ' => 8 ], $ square );
// => [16, 64] (iteration order is not guaranteed)
$ users = [
[ ' user ' => ' barney ' ],
[ ' user ' => ' fred ' ]
];
// The `property` iteratee shorthand.
map ( $ users , ' user ' );
// => ['barney', 'fred']
Metode ini seperti sortBy
hanya saja metode ini memungkinkan penentuan urutan pengurutan dari iterasi yang akan diurutkan. Jika orders
tidak ditentukan, semua nilai diurutkan dalam urutan menaik. Jika tidak, tentukan urutan "desc" untuk menurun atau "asc" untuk urutan menaik dari nilai yang sesuai.
Argumen:
@param (iterable | null) $collection Koleksi yang akan diulang.
@param (array[] | callable[] | string[]) $iteratee Iteratee yang akan diurutkan.
@param string[] $orders Urutan pengurutan iteratees
.
Kembali:
@return array array yang baru diurutkan.
Contoh:
<?php
use function _ orderBy ;
$ users = [
[ ' user ' => ' fred ' , ' age ' => 48 ],
[ ' user ' => ' barney ' , ' age ' => 34 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' barney ' , ' age ' => 36 ]
]
// Sort by `user` in ascending order and by `age` in descending order.
orderBy ( $ users , [ ' user ' , ' age ' ], [ ' asc ' , ' desc ' ])
// => [['user' => 'barney', 'age' => 36], ['user' => 'barney', 'age' => 34], ['user' => 'fred', 'age' => 48], ['user' => 'fred', 'age' => 40]]
Membuat larik elemen yang dibagi menjadi dua grup, grup pertama berisi elemen predicate
mengembalikan kebenaran, grup kedua berisi elemen predicate
mengembalikan falsey untuk. Predikat dipanggil dengan satu argumen: (nilai).
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array array elemen yang dikelompokkan.
Contoh:
<?php
use function _ partition ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => false ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' age ' => 1 , ' active ' => false ]
];
partition ( $ users , function ( $ user ) { return $ user [ ' active ' ]; })
// => objects for [['fred'], ['barney', 'pebbles']]
Mengurangi collection
menjadi nilai yang merupakan hasil akumulasi dari menjalankan setiap elemen dalam collection
melalui iteratee
, di mana setiap pemanggilan berturut-turut diberikan nilai kembalian dari sebelumnya. Jika accumulator
tidak diberikan, elemen collection
pertama digunakan sebagai nilai awal. Iteratee dipanggil dengan empat argumen: (akumulator, nilai, indeks|kunci, koleksi).
Banyak metode lodash yang dijaga agar berfungsi sebagai perulangan untuk metode seperti reduce
, reduceRight
, dan transform
.
Metode yang dilindungi adalah: assign
, defaults
, defaultsDeep
, includes
, merge
, orderBy
, dan sortBy
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param mixed $iteratee Fungsi ini dipanggil per iterasi.
@param campuran $accumulator Nilai awal.
Kembali:
@return mixed Mengembalikan nilai akumulasi.
Contoh:
<?php
use function _ reduce ;
reduce ([ 1 , 2 ], function ( $ sum , $ n ) { return $ sum + $ n ; }, 0 )
// => 3
reduce ([ ' a ' => 1 , ' b ' => 2 , ' c ' => 1 ], function ( $ result , $ value , $ key ) {
if (! isset ( $ result [ $ value ])) {
$ result [ $ value ] = [];
}
$ result [ $ value ][] = $ key ;
return $ result ;
}, [])
// => ['1' => ['a', 'c'], '2' => ['b']] (iteration order is not guaranteed)
Metode ini mirip dengan reduce
hanya saja metode ini mengulangi elemen collection
dari kanan ke kiri.
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param mixed $iteratee Fungsi ini dipanggil per iterasi.
@param campuran $accumulator Nilai awal.
Kembali:
@return mixed Mengembalikan nilai akumulasi.
Contoh:
<?php
use function _ reduceRight ;
$ array = [[ 0 , 1 ], [ 2 , 3 ], [ 4 , 5 ]];
reduceRight ( array , (flattened, other) => flattened. concat (other), [])
// => [4, 5, 2, 3, 0, 1]
Kebalikan dari filter
metode ini mengembalikan elemen collection
yang predicate
tidak mengembalikan kebenaran.
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param callable $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return array array baru yang difilter.
Contoh:
<?php
use function _ reject ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
]
reject ( $ users , ' active ' )
// => objects for ['fred']
Mendapatkan ukuran collection
dengan mengembalikan panjangnya untuk nilai array atau jumlah properti publik untuk objek.
Argumen:
@param (array | objek | string) $collection Koleksi yang akan diperiksa.
Kembali:
@return int Mengembalikan ukuran koleksi.
Contoh:
<?php
use function _ size ;
size ([ 1 , 2 , 3 ]);
// => 3
size ( new class { public $ a = 1 ; public $ b = 2 ; private $ c = 3 ; });
// => 2
size ( ' pebbles ' );
// => 7
Memeriksa apakah predicate
mengembalikan kebenaran untuk elemen collection
apa pun . Iterasi dihentikan setelah predicate
kembali benar. Predikat dipanggil dengan tiga argumen: (nilai, indeks|kunci, koleksi).
Argumen:
@param iterable $collection Koleksi yang akan diulang.
@param (callable | string | array) $predicate Fungsi ini dipanggil per iterasi.
Kembali:
@return boolean Mengembalikan true
jika ada elemen yang lolos pemeriksaan predikat, jika tidak false
.
Contoh:
<?php
use function _ some ;
some ([ null , 0 , ' yes ' , false ], , function ( $ value ) { return is_bool ( $ value ); }));
// => true
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
];
// The `matches` iteratee shorthand.
some ( $ users , [ ' user ' => ' barney ' , ' active ' => false ]);
// => false
// The `matchesProperty` iteratee shorthand.
some ( $ users , [ ' active ' , false ]);
// => true
// The `property` iteratee shorthand.
some ( $ users , ' active ' );
// => true
Membuat array elemen, diurutkan dalam urutan menaik berdasarkan hasil menjalankan setiap elemen dalam koleksi melalui setiap iteratee. Metode ini melakukan pengurutan yang stabil, yaitu mempertahankan urutan pengurutan asli dari elemen yang sama. Iterate dipanggil dengan satu argumen: (nilai).
Argumen:
@param (array | object | null) $collection Koleksi yang akan diulang.
@param (callable | callable[]) $iteratees Para iterasi yang akan diurutkan.
Kembali:
@return array Mengembalikan array terurut baru.
Contoh:
<?php
use function _ sortBy ;
$ users = [
[ ' user ' => ' fred ' , ' age ' => 48 ],
[ ' user ' => ' barney ' , ' age ' => 36 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' barney ' , ' age ' => 34 ],
];
sortBy ( $ users , [ function ( $ o ) { return $ o [ ' user ' ]; }]);
// => [['user' => 'barney', 'age' => 36], ['user' => 'barney', 'age' => 34], ['user' => 'fred', 'age' => 48], ['user' => 'fred', 'age' => 40]]
sortBy ( $ users , [ ' user ' , ' age ' ]);
// => [['user' => 'barney', 'age' => 34], ['user' => 'barney', 'age' => 36], ['user' => 'fred', 'age' => 40], ['user' => 'fred', 'age' => 48]]
Mendapatkan stempel waktu jumlah milidetik yang telah berlalu sejak zaman Unix (1 Januari 1970 00:00:00 UTC).
Argumen:
Kembali:
@return int Mengembalikan stempel waktu.
Contoh:
<?php
use function _ now ;
now ();
// => 1511180325735
Kebalikan dari before
; metode ini membuat fungsi yang memanggil func
setelah dipanggil n
kali atau lebih.
Argumen:
@param int $n Jumlah panggilan sebelum func
dipanggil.
@param Callable $func Fungsi untuk membatasi.
Kembali:
@return Callable Mengembalikan fungsi terbatas yang baru.
Contoh:
<?php
use function _ after ;
$ saves = [ ' profile ' , ' settings ' ];
$ done = after ( count ( $ saves ), function () {
echo ' done saving! ' ;
});
forEach ( $ saves , function ( $ type ) use ( $ done ) {
asyncSave ([ ' type ' => $ type , ' complete ' => $ done ]);
});
// => Prints 'done saving!' after the two async saves have completed.
Membuat fungsi yang memanggil func
, dengan maksimal n
argumen, mengabaikan argumen tambahan apa pun.
Argumen:
@param callable $func Fungsi untuk membatasi argumen.
@param int $n Batas arity.
Kembali:
@return Callable Mengembalikan fungsi baru yang dibatasi.
Contoh:
<?php
use function _ ary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], ary ( ' intval ' , 1 ));
// => [6, 8, 10]
Membuat fungsi yang memanggil func
, dengan argumen dari fungsi yang dibuat, sementara fungsi tersebut dipanggil kurang dari n
kali. Panggilan selanjutnya ke fungsi yang dibuat akan mengembalikan hasil pemanggilan func
terakhir.
Argumen:
@param int $n Jumlah panggilan yang func
tidak lagi dipanggil.
@param callable $func Fungsi untuk membatasi.
Kembali:
@return callable Mengembalikan fungsi terbatas yang baru.
Contoh:
<?php
use function _ before ;
$ users = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ];
$ result = uniqBy ( map ( $ users , before ( 5 , [ $ repository , ' find ' ])), ' id ' )
// => Fetch up to 4 results.
Membuat fungsi yang memanggil func
dengan pengikatan object
this
dan partials
yang ditambahkan ke argumen yang diterimanya.
Argumen:
@param callable $function Fungsi untuk mengikat.
@param (objek | campuran) $object Pengikatan object
func
.
@param array<int, mixed> $partials Argumen yang akan diterapkan sebagian.
Kembali:
@return callable Mengembalikan fungsi terikat yang baru.
Contoh:
<?php
use function _ bind ;
function greet ( $ greeting , $ punctuation ) {
return $ greeting . ' ' . $ this -> user . $ punctuation ;
}
$ object = $ object = new class {
public $ user = ' fred ' ;
};
$ bound = bind ( ' greet ' , $ object , ' hi ' );
$ bound ( ' ! ' );
// => 'hi fred!'
Membuat fungsi yang memanggil metode $function
dari $object
dengan $partials
ditambahkan ke argumen yang diterimanya.
Metode ini berbeda dari bind
dengan mengizinkan fungsi terikat ke metode referensi yang mungkin telah didefinisikan ulang atau belum ada
Argumen:
@param objek $objek Objek untuk memanggil metode.
@param string $function Nama metode.
@param array<int, mixed> $partials Argumen yang akan diterapkan sebagian.
Kembali:
@return callable Mengembalikan fungsi terikat yang baru.
Contoh:
<?php
use function _ bindKey ;
$ object = new class {
private $ user = ' fred ' ;
function greet ( $ greeting , $ punctuation ) {
return $ greeting . ' ' . $ this -> user . $ punctuation ;
}
};
$ bound = bindKey ( $ object , ' greet ' , ' hi ' );
$ bound ( ' ! ' );
// => 'hi fred!'
Membuat fungsi yang menerima argumen func
dan memanggil func
untuk mengembalikan hasilnya, jika arity
jumlah argumen telah diberikan, atau mengembalikan fungsi yang menerima argumen func
yang tersisa, dan seterusnya. Aritas func
dapat ditentukan jika func.length
tidak mencukupi.
Nilai _.curry.placeholder
, yang defaultnya adalah _
dalam build monolitik, dapat digunakan sebagai pengganti argumen yang disediakan.
Catatan: Metode ini tidak menyetel properti "panjang" dari fungsi kari.
Argumen:
@param callable $func Fungsi untuk kari.
@param (int | null) $arity Arity dari func
.
Kembali:
@return callable Mengembalikan fungsi kari baru.
Contoh:
<?php
use function _ curry ;
$ abc = function ( $ a , $ b , $ c ) {
return [ $ a , $ b , $ c ];
};
$ curried = curry ( $ abc );
$ curried ( 1 )( 2 )( 3 );
// => [1, 2, 3]
$ curried ( 1 , 2 )( 3 );
// => [1, 2, 3]
$ curried ( 1 , 2 , 3 );
// => [1, 2, 3]
// Curried with placeholders.
$ curried ( 1 )(_, 3 )( 2 );
// => [1, 2, 3]
Memanggil func
setelah wait
milidetik. Argumen tambahan apa pun disediakan agar func
saat dipanggil.
Argumen:
@param callable $func Fungsi untuk menunda.
@param int $wait Jumlah milidetik untuk menunda pemanggilan.
@param array<int, campuran> $args
Kembali:
@kembalikan ke id pengatur waktu.
Contoh:
<?php
use function _ delay ;
delay ( function ( $ text ) {
echo $ text ;
}, 1000 , ' later ' );
// => Echo 'later' after one second.
Membuat fungsi yang memanggil func
dengan argumen terbalik.
Argumen:
@param callable $func Fungsi untuk membalik argumen.
Kembali:
@return callable Mengembalikan fungsi baru yang dibalik.
Contoh:
<?php
use function _ flip ;
$ flipped = flip ( function () {
return func_get_args ();
});
flipped ( ' a ' , ' b ' , ' c ' , ' d ' );
// => ['d', 'c', 'b', 'a']
Membuat fungsi yang mengingat hasil func
. Jika resolver
disediakan, ini menentukan kunci cache untuk menyimpan hasil berdasarkan argumen yang diberikan ke fungsi memoisasi. Secara default, argumen pertama yang diberikan ke fungsi memoized digunakan sebagai kunci cache peta
Catatan: Cache diekspos sebagai properti cache
pada fungsi memoisasi. Pembuatannya dapat dikustomisasi dengan mengganti konstruktor _.memoize.Cache
dengan konstruktor yang instance-nya mengimplementasikan antarmuka metode Map
yang terdiri dari clear
, delete
, get
, has
, dan set
.
Argumen:
@param callable $func Fungsi untuk memoisasi keluarannya.
@param (callable | null) $resolver Fungsi untuk menyelesaikan kunci cache.
Kembali:
@return callable Mengembalikan fungsi memo yang baru.
Contoh:
<?php
use function _ memoize ;
$ object = [ ' a ' => 1 , ' b ' => 2 ];
$ other = [ ' c ' => 3 , ' d ' => 4 ];
$ values = memoize ( ' _values ' );
$ values ( $ object );
// => [1, 2]
$ values ( $ other );
// => [3, 4]
$ object [ ' a ' ] = 2 ;
$ values ( $ object );
// => [1, 2]
// Modify the result cache.
$ values -> cache -> set ( $ object , [ ' a ' , ' b ' ]);
$ values ( $ object );
// => ['a', 'b']
Membuat fungsi yang meniadakan hasil func
predikat
Argumen:
@param callable $predicate Predikat yang akan dinegasikan.
Kembali:
@return callable Mengembalikan fungsi baru yang dinegasikan.
Contoh:
<?php
use function _ negate ;
function isEven ( $ n ) {
return $ n % 2 == 0 ;
}
filter ([ 1 , 2 , 3 , 4 , 5 , 6 ], negate ( $ isEven ));
// => [1, 3, 5]
Membuat fungsi yang dibatasi untuk menjalankan func
satu kali. Ulangi panggilan ke fungsi mengembalikan nilai pemanggilan pertama. func
ini dipanggil dengan argumen dari fungsi yang dibuat.
Argumen:
@param callable $func Fungsi untuk membatasi.
Kembali:
@return dapat memanggil fungsi terbatas yang baru.
Contoh:
<?php
use function _ once ;
$ initialize = once ( ' createApplication ' );
$ initialize ();
$ initialize ();
// => `createApplication` is invoked once
Membuat fungsi yang memanggil func
dengan argumennya diubah.
Argumen:
@param callable $func Fungsi untuk membungkus.
@param callable[] $transforms Argumen berubah.
Kembali:
@return dapat memanggil fungsi baru.
Contoh:
<?php
use function _ overArgs ;
function doubled ( $ n ) {
return $ n * 2 ;
}
function square ( $ n ) {
return $ n * $ n ;
}
$ func = overArgs ( function ( $ x , $ y ) {
return [ $ x , $ y ];
}, [ ' square ' , ' doubled ' ]);
$ func ( 9 , 3 );
// => [81, 6]
$ func ( 10 , 5 );
// => [100, 10]
Membuat fungsi yang memanggil func
dengan partials
yang ditambahkan ke argumen yang diterimanya.
Argumen:
@param callable $func Fungsi untuk menerapkan sebagian argumen.
@param array<int, mixed> $partials Argumen yang akan diterapkan sebagian.
Kembali:
@return callable Mengembalikan fungsi baru yang diterapkan sebagian.
Contoh:
<?php
use function _ partial ;
function greet ( $ greeting , $ name ) {
return $ greeting . ' ' . $ name ;
}
$ sayHelloTo = partial ( ' greet ' , ' hello ' );
$ sayHelloTo ( ' fred ' );
// => 'hello fred'
Membuat fungsi yang memohon func
dengan pengikatan fungsi dan argumen yang dibuat this
dari start
dan seterusnya disediakan sebagai array.
Argumen:
@param callable $ func fungsi untuk menerapkan parameter rest ke.
@param (int | null) $ mulai posisi mulai parameter sisanya.
Kembali:
@Return Callable Mengembalikan fungsi baru.
Contoh:
<?php
use function _ rest ;
$ say = rest ( function ( $ what , $ names ) {
return $ what . ' ' . implode ( ' , ' , initial ( $ names )) .
( size ( $ names ) > 1 ? ' , & ' : '' ) . last ( $ names );
});
$ say ( ' hello ' , ' fred ' , ' barney ' , ' pebbles ' );
// => 'hello fred, barney, & pebbles'
Membuat fungsi yang memohon func
dengan pengikatan fungsi CREATE this
dan berbagai argumen seperti Function#apply
.
Catatan: Metode ini didasarkan pada operator penyebaran.
Argumen:
@param Callable $ func fungsi untuk menyebarkan argumen.
@param int $ mulai posisi mulai dari spread.
Kembali:
@Return Callable Mengembalikan fungsi baru.
Contoh:
<?php
use function _ spread ;
$ say = spread ( function ( $ who , $ what ) {
return $ who . ' says ' . $ what ;
});
$ say ([ ' fred ' , ' hello ' ]);
// => 'fred says hello'
Membuat fungsi yang menerima hingga satu argumen, mengabaikan argumen tambahan.
Argumen:
@param Callable $ func fungsi untuk menutup argumen.
Kembali:
@Return Callable fungsi capped baru.
Contoh:
<?php
use function _ unary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], unary ( ' intval ' ));
// => [6, 8, 10]
Membuat fungsi yang memberikan value
pada wrapper
sebagai argumen pertamanya. Setiap argumen tambahan yang disediakan untuk fungsi ditambahkan pada yang disediakan untuk wrapper
.
Argumen:
@param campuran $ nilai nilai yang akan dibungkus.
@param callable $ wrapper fungsi pembungkus.
Kembali:
@Kembali yang dapat dipanggil fungsi baru.
Contoh:
<?php
use function _ wrap ;
$ p = wrap ( ' _escape ' , function ( $ func , $ text ) {
return ' <p> ' . $ func ( $ text ) . ' </p> ' ;
});
$ p ( ' fred, barney, & pebbles ' );
// => '<p>fred, barney, & pebbles</p>'
Melakukan perbandingan antara dua nilai untuk menentukan apakah mereka setara.
Argumen:
@param campuran $ nilai nilai yang akan dibandingkan.
@param campuran $ lain nilai lain untuk dibandingkan.
Kembali:
@Return Boolean mengembalikan true
jika nilainya setara, tidak false
.
Contoh:
<?php
use function _ eq ;
$ object = ( object ) [ ' a ' => 1 ];
$ other = ( object ) [ ' a ' => 1 ];
eq ( $ object , $ object );
// => true
eq ( $ object , $ other );
// => false
eq ( ' a ' , ' a ' );
// => true
eq ([ ' a ' ], ( object ) [ ' a ' ]);
// => false
eq ( INF , INF );
// => true
Melakukan perbandingan mendalam antara dua nilai untuk menentukan apakah mereka setara.
CATATAN: Metode ini mendukung membandingkan array, boolean, objek datetime, objek pengecualian, splobjectstorage, angka, string, array yang diketik, sumber daya, node DOM. Objek dibandingkan dengan properti mereka sendiri, tidak diwariskan, dan dapat dihindarkan.
Argumen:
@param campuran $ nilai nilai yang akan dibandingkan.
@param campuran $ lain nilai lain untuk dibandingkan.
Kembali:
@Return Bool Mengembalikan true
jika nilainya setara, kalau tidak false
.
Contoh:
<?php
use function _ isEqual ;
$ object = [ ' a ' => 1 ]
$ other = [ ' a ' => ' 1 ' ]
isEqual ( $ object , $ other )
// => true
$ object === $ other
// => false
Periksa apakah value
adalah Exception
, ParseError
, error , Throwable
, SoapFault , DOMException
, pdoException`, objek.
Argumen:
@param campuran $ nilai nilai yang akan diperiksa.
Kembali:
@Return Boolean Mengembalikan true
jika value
adalah objek kesalahan, selain itu false
.
Contoh:
<?php
use function _ isError ;
isError ( new Exception ())
// => true
isError (Exception::Class)
// => false
Menambahkan dua angka.
Argumen:
@param (int | float | string) $ augend nomor pertama dalam suatu penambahan.
@param (int | float | string) $ Tambahkan nomor kedua dalam suatu penambahan.
Kembali:
@Return (int | float) mengembalikan total.
Contoh:
<?php
use function _ add ;
add ( 6 , 4 );
// => 10
Menghitung nilai maksimum array
. Jika array
kosong atau salah, null dikembalikan.
Argumen:
@param (array | null) $ array array untuk berulang.
Kembali:
@Return (int | null) Mengembalikan nilai maksimum.
Contoh:
<?php
use function _ max ;
max ([ 4 , 2 , 8 , 6 ]);
// => 8
max ([]);
// => null
Metode ini seperti max
kecuali bahwa ia menerima iteratee
yang dipanggil untuk setiap elemen dalam array
untuk menghasilkan kriteria di mana nilainya diberi peringkat. Iterate dipanggil dengan satu argumen: (nilai).
Argumen:
@param array $ array array untuk mengulangi.
@param (callable | string) $ iteratee iterate yang dipanggil per elemen.
Kembali:
@Return campuran mengembalikan nilai maksimum.
Contoh:
<?php
use function _ maxBy ;
$ objects = [[ ' n ' => 1 ], [ ' n ' => 2 ]];
maxBy ( $ objects , function ( $ o ) { return $ o [ ' n ' ]; });
// => ['n' => 2]
// The `property` iteratee shorthand.
maxBy ( $ objects , ' n ' );
// => ['n' => 2]
number
klem di dalam batas lower
dan upper
inklusif.
Argumen:
@param int $ nomor nomor untuk menjepit.
@param int $ turunkan batas bawah.
@param int $ atas batas atas.
Kembali:
@return int mengembalikan nomor yang dijepit.
Contoh:
<?php
use function _ clamp ;
clamp (- 10 , - 5 , 5 )
// => -5
clamp ( 10 , - 5 , 5 )
// => 5
Memeriksa apakah number
antara start
dan hingga, tetapi tidak termasuk, end
. Jika end
tidak ditentukan, itu diatur untuk start
dengan start
maka setel ke 0
. Jika start
lebih besar dari end
param ditukar untuk mendukung rentang negatif.
Argumen:
@param float $ nomor nomor yang akan diperiksa.
@param float $ mulai awal jangkauan.
@param float $ end ujung kisaran.
Kembali:
@Return Boolean mengembalikan true
jika number
ada dalam kisaran, selain itu false
.
Contoh:
<?php
use function _ inRange ;
inRange ( 3 , 2 , 4 )
// => true
inRange ( 4 , 8 )
// => true
inRange ( 4 , 2 )
// => false
inRange ( 2 , 2 )
// => false
inRange ( 1.2 , 2 )
// => true
inRange ( 5.2 , 4 )
// => false
inRange (- 3 , - 2 , - 6 )
// => true
Menghasilkan angka acak antara batas lower
dan upper
inklusif. Jika hanya satu argumen diberikan angka antara 0
dan nomor yang diberikan dikembalikan. Jika floating
itu true
, atau lower
atau upper
mengapung, angka titik mengambang dikembalikan alih-alih bilangan bulat.
Argumen:
@param (int | float | bool) $ turunkan batas bawah.
@param (int | float | bool) $ atas batas atas.
@param (bool | null) $ floating Tentukan mengembalikan nomor poin mengambang.
Kembali:
@Return (int | float) mengembalikan nomor acak.
Contoh:
<?php
use function _ random ;
random ( 0 , 5 )
// => an integer between 0 and 5
random ( 5 )
// => also an integer between 0 and 5
random ( 5 , true )
// => a floating-point number between 0 and 5
random ( 1.2 , 5.2 )
// => a floating-point number between 1.2 and 5.2
Mendapatkan nilai di jalur objek. Jika nilai yang diselesaikan adalah nol, nilai default dikembalikan di tempatnya.
Argumen:
@param campuran $ objek array asosiatif atau objek untuk mengambil nilai dari
@param (array | string) $ path dot terpisah atau array string
@param campuran $ defaultValue (opsional) Nilai yang dikembalikan untuk nilai yang belum terselesaikan atau nol.
Kembali:
@Return Mixed mengembalikan nilai yang diselesaikan.
Contoh:
<?php
use function _ get ;
$ sampleArray = [ " key1 " => [ " key2 " => [ " key3 " => " val1 " , " key4 " => "" ]]];
get ( $ sampleArray , ' key1.key2.key3 ' );
// => "val1"
get ( $ sampleArray , ' key1.key2.key5 ' , " default " );
// => "default"
get ( $ sampleArray , ' key1.key2.key4 ' , " default " );
// => ""
Membuat objek yang terdiri dari properti object
yang dipetik.
Argumen:
@param objek $ objek objek sumber.
@param (string | string []) $ paths jalur properti yang akan dipilih.
Kembali:
@return stdclass mengembalikan objek baru.
Contoh:
<?php
use function _ pick ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' 2 ' , ' c ' => 3 ];
pick ( $ object , [ ' a ' , ' c ' ]);
// => (object) ['a' => 1, 'c' => 3]
Membuat objek yang terdiri dari predicate
properti object
Returns Truthy untuk. Predikat dipanggil dengan dua argumen: (nilai, kunci).
Argumen:
@param (objek | null) $ objek objek sumber.
@param callable $ predikat fungsi yang dipanggil per properti.
Kembali:
@return stdclass mengembalikan objek baru.
Contoh:
<?php
use function _ pickBy ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' abc ' , ' c ' => 3 ];
pickBy (object, ' is_numeric ' );
// => (object) ['a' => 1, 'c' => 3]
Membuat instance pembungkus lodash
yang membungkus value
dengan urutan rantai metode eksplisit diaktifkan. Hasil dari urutan tersebut harus dibuka dengan ->value()
.
Argumen:
@param campuran $ nilai nilai yang akan dibungkus.
Kembali:
@Return _ Mengembalikan instance lodash
wrapper baru.
Contoh:
<?php
use function _ chain ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' pebbles ' , ' age ' => 1 ],
];
$ youngest = chain ( $ users )
-> sortBy ( ' age ' )
-> map ( function ( $ o ) {
return $ o [ ' user ' ] . ' is ' . $ o [ ' age ' ];
})
-> head ()
-> value ();
// => 'pebbles is 1'
Konversi string
ke Camel Case.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String Mengembalikan string Camel Cased.
Contoh:
<?php
use function _ camelCase ;
camelCase ( ' Foo Bar ' )
// => 'fooBar'
camelCase ( ' --foo-bar-- ' )
// => 'fooBar'
camelCase ( ' __FOO_BAR__ ' )
// => 'fooBar'
Konversi karakter pertama dari string
ke huruf besar dan sisa ke huruf kecil.
Argumen:
@param string $ string string untuk memanfaatkan.
Kembali:
@Return String mengembalikan string yang dikapitalisasi.
Contoh:
<?php
use function _ capitalize ;
capitalize ( ' FRED ' )
// => 'Fred'
Deburrs string
dengan mengonversi [latin-1 suplemen] (https => // en.wikipedia.org/wiki/latin-1_supplement_(unicode_block)#character_table) dan [Latin Extended-A] (https => // en.wikipedia. org/wiki/latin_extended-a) huruf ke huruf Latin dasar dan menghapus [menggabungkan tanda diakritik] (https => // en.wikipedia.org/wiki/combining_diacritical_marks).
Argumen:
@param string $ string string ke deburr.
Kembali:
@Return String Mengembalikan string deburred.
Contoh:
<?php
use function _ deburr ;
deburr ( ' déjà vu ' )
// => 'deja vu'
Periksa apakah string
berakhir dengan string target yang diberikan.
Argumen:
@param string $ string string untuk diperiksa.
@param string $ target string yang akan dicari.
@param int $ Posisikan posisi untuk mencari.
Kembali:
@Return Boolean mengembalikan true
jika string
berakhir dengan target
, selain itu false
.
Contoh:
<?php
use function _ endsWith ;
endsWith ( ' abc ' , ' c ' )
// => true
endsWith ( ' abc ' , ' b ' )
// => false
endsWith ( ' abc ' , ' b ' , 2 )
// => true
Mengubah karakter "&", "<", ">", '"', dan" 'dalam string
ke entitas HTML yang sesuai.
Meskipun karakter ">" diloloskan karena simetri, karakter seperti ">" dan "/" tidak perlu melarikan diri dalam HTML dan tidak memiliki makna khusus kecuali mereka bagian dari tag atau nilai atribut yang tidak dikutip. Lihat artikel Mathias Bynens (di bawah "Fakta Menyenangkan Semi-Terkait") untuk lebih jelasnya.
Saat bekerja dengan HTML, Anda harus selalu mengutip nilai atribut untuk mengurangi vektor XSS.
Argumen:
@param string $ string string untuk melarikan diri.
Kembali:
@Return String Mengembalikan string yang melarikan diri.
Contoh:
<?php
use function _ escape ;
escape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
Lolos dari karakter khusus RegExp
"^", "$", "", ".", "*", "+", "?", "(", ")," [","], "{{ ","} ", dan" | " dalam string
.
Argumen:
@param string $ string string untuk melarikan diri.
Kembali:
@Return String Mengembalikan string yang melarikan diri.
Contoh:
<?php
use function _ escapeRegExp ;
escapeRegExp ( ' [lodash](https://lodash.com/) ' )
// => '[lodash](https://lodash.com/)'
Konversi string
ke kasus kebab.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String Mengembalikan string cased kebab.
Contoh:
<?php
use function _ kebabCase ;
kebabCase ( ' Foo Bar ' )
// => 'foo-bar'
kebabCase ( ' fooBar ' )
// => 'foo-bar'
kebabCase ( ' __FOO_BAR__ ' )
// => 'foo-bar'
Konversi string
, sebagai ruang memisahkan kata -kata, ke huruf kecil.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String mengembalikan string cased yang lebih rendah.
Contoh:
<?php
use function _ lowerCase ;
lowerCase ( ' --Foo-Bar-- ' )
// => 'foo bar'
lowerCase ( ' fooBar ' )
// => 'foo bar'
lowerCase ( ' __FOO_BAR__ ' )
// => 'foo bar'
Mengubah karakter pertama dari string
ke huruf kecil.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String mengembalikan string yang dikonversi.
Contoh:
<?php
use function _ lowerFirst ;
lowerFirst ( ' Fred ' )
// => 'fred'
lowerFirst ( ' FRED ' )
// => 'fRED'
Pads string
di sisi kiri dan kanan jika lebih pendek dari length
. Karakter padding terpotong jika tidak dapat dibagi secara merata dengan length
.
Argumen:
@param string $ string string ke pad.
@param int $ panjang panjang bantalan.
@param string $ chars string yang digunakan sebagai padding.
Kembali:
@Return String Mengembalikan string empuk.
Contoh:
<?php
use function _ pad ;
pad ( ' abc ' , 8 )
// => ' abc '
pad ( ' abc ' , 8 , ' _- ' )
// => '_-abc_-_'
pad ( ' abc ' , 2 )
// => 'abc'
string
bantalan di sisi kanan jika lebih pendek dari length
. Karakter padding terpotong jika melebihi length
.
Argumen:
@param string $ string string ke pad.
@param int $ panjang panjang bantalan.
@param string $ chars string yang digunakan sebagai padding.
Kembali:
@Return String Mengembalikan string empuk.
Contoh:
<?php
use function _ padEnd ;
padEnd ( ' abc ' , 6 )
// => 'abc '
padEnd ( ' abc ' , 6 , ' _- ' )
// => 'abc_-_'
padEnd ( ' abc ' , 2 )
// => 'abc'
string
bantalan di sisi kiri jika lebih pendek dari length
. Karakter padding terpotong jika melebihi length
.
Argumen S:
@param string $ string = '' string ke pad.
@param int $ panjang panjang bantalan.
@param string $ chars string yang digunakan sebagai padding.
Kembali:
@Return String Mengembalikan string empuk.
Contoh:
<?php
use function _ padStart ;
padStart ( ' abc ' , 6 )
// => ' abc'
padStart ( ' abc ' , 6 , ' _- ' )
// => '_-_abc'
padStart ( ' abc ' , 2 )
// => 'abc'
Konversi string
ke integer dari radix yang ditentukan. Jika radix
undefined
atau 0
, radix
10
digunakan kecuali string
adalah heksadesimal, dalam hal ini radix
16
digunakan.
Catatan: Metode ini menggunakan casting integer bawaan PHP, yang tidak selalu sejalan dengan implementasi ES5 dari parseInt
.
Argumen:
@param (int | float | string) $ string string untuk dikonversi.
@param int $ radix radix untuk menafsirkan string
oleh.
Kembali:
@return int mengembalikan bilangan bulat yang dikonversi.
Contoh:
<?php
use function _ parseInt ;
parseInt ( ' 08 ' )
// => 8
Mengulangi string n
kali yang diberikan.
Argumen:
@param string $ string string yang akan diulang.
@param int $ n berapa kali untuk mengulangi string.
Kembali:
@Return String Mengembalikan string yang diulang.
Contoh:
<?php
use function _ repeat ;
repeat ( ' * ' , 3 )
// => '***'
repeat ( ' abc ' , 2 )
// => 'abcabc'
repeat ( ' abc ' , 0 )
// => ''
Mengganti kecocokan untuk pattern
dalam string
dengan replacement
.
Catatan: Metode ini didasarkan pada String#replace
.
Argumen:
@param string $ string string yang akan dimodifikasi.
@param string $ pola pola untuk diganti.
@param (Callable | String) $ Penggantian Penggantian pertandingan.
Kembali:
@Return String Mengembalikan string yang dimodifikasi.
Contoh:
<?php
use function _ replace ;
replace ( ' Hi Fred ' , ' Fred ' , ' Barney ' )
// => 'Hi Barney'
Konversi string
ke case ular.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String Mengembalikan string ular cased.
Contoh:
<?php
use function _ snakeCase ;
snakeCase ( ' Foo Bar ' )
// => 'foo_bar'
snakeCase ( ' fooBar ' )
// => 'foo_bar'
snakeCase ( ' --FOO-BAR-- ' )
// => 'foo_bar'
Membagi string
oleh separator
.
Catatan: Metode ini didasarkan pada String#split
.
Argumen:
@param string $ string string yang akan dibagi.
@param string $ pemisah pola pemisah untuk dibagi oleh.
@param int $ Batasi panjang untuk memotong hasil.
Kembali:
@Return Array Mengembalikan segmen string.
Contoh:
<?php
use function _ split ;
split ( ' a-b-c ' , ' - ' , 2 )
// => ['a', 'b']
Konversi string
untuk memulai case.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String Mengembalikan string cased start.
Contoh:
<?php
use function _ startCase ;
startCase ( ' --foo-bar-- ' )
// => 'Foo Bar'
startCase ( ' fooBar ' )
// => 'Foo Bar'
startCase ( ' __FOO_BAR__ ' )
// => 'FOO BAR'
Periksa apakah string
dimulai dengan string target yang diberikan.
Argumen:
@param string $ string string untuk diperiksa.
@param string $ target string yang akan dicari.
@param int $ Posisikan posisi untuk mencari dari.
Kembali:
@Return Boolean mengembalikan true
jika string
dimulai dengan target
, selain itu false
.
Contoh:
<?php
use function _ startsWith ;
startsWith ( ' abc ' , ' a ' )
// => true
startsWith ( ' abc ' , ' b ' )
// => false
startsWith ( ' abc ' , ' b ' , 1 )
// => true
Membuat fungsi template yang dikompilasi yang dapat menginterpolasi sifat data dalam pembatas "interpolasi", properti data interpolasi HTML-Escape dalam pembatas "melarikan diri", dan menjalankan PHP dalam pembatas "Evaluasi". Properti data dapat diakses sebagai variabel gratis dalam templat. Jika objek pengaturan diberikan, diutamakan lebih dari $templateSettings
nilai.
Regexp $ option ['Escape'] = _ :: $ Templatesettings ['Escape'] Pembatas "Escape" HTML. RegExp $ option ['Evaluate'] = _ :: $ TemplateSettings ['Evaluasi'] Pembatas "Evaluasi". array $ options ['impor'] = _ :: $ templateSettings ['impor'] objek untuk diimpor ke dalam templat sebagai variabel gratis. Regexp $ option ['interpolate'] = _ :: $ templateSettings ['interpolate'] Pembatas "interpolasi".
Argumen:
@param string $ string string template.
@param array $ option opsi array.
Kembali:
@Return Callable Mengembalikan fungsi template yang dikompilasi.
Contoh:
<?php
use function _ template ;
// Use the "interpolate" delimiter to create a compiled template.
$ compiled = template ( ' hello <%= user %>! ' )
$ compiled ([ ' user ' => ' fred ' ])
// => 'hello fred!'
// Use the HTML "escape" delimiter to escape data property values.
$ compiled = template ( ' <b><%- value %></b> ' )
$ compiled ([ ' value ' => ' <script> ' ])
// => '<b><script></b>'
// Use the "evaluate" delimiter to execute JavaScript and generate HTML.
$ compiled = template ( ' <% foreach($users as $user) { %><li><%- user %></li><% }%> ' )
$ compiled ([ ' users ' => [ ' fred ' , ' barney ' ] ])
// => '<li>fred</li><li>barney</li>'
// Use the internal `print` function in "evaluate" delimiters.
$ compiled = template ( ' <% print("hello " + $user)%>! ' )
$ compiled ([ ' user ' => ' barney ' ])
// => 'hello barney!'
// Use backslashes to treat delimiters as plain text.
$ compiled = template ( ' <%= " \ <%- value % \ >" %> ' )
$ compiled ([ ' value ' => ' ignored ' ])
// => '<%- value %>'
// Use the `imports` option to import functions or classes with aliases.
$ text = ' <% all($users, function($user) { %><li><%- user %></li><% })%> '
$ compiled = template( $ text , { ' imports ' : { ' _each ' : ' all ' } })
$ compiled ([ ' users ' => [ ' fred ' , ' barney ' ] ])
// => '<li>fred</li><li>barney</li>'
// Use custom template delimiters.
_:: $ templateSettings [ ' interpolate ' ] = ' {{([sS]+?)}} '
$ compiled = template ( ' hello {{ user }}! ' )
$ compiled ([ ' user ' => ' mustache ' ])
// => 'hello mustache!'
// Use the `source` property to access the compiled source of the template
template ( $ mainText )-> source ;
Mengonversi string
, secara keseluruhan, menjadi huruf kecil
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String mengembalikan string cased yang lebih rendah.
Contoh:
<?php
use function _ toLower ;
toLower ( ' --Foo-Bar-- ' )
// => '--foo-bar--'
toLower ( ' fooBar ' )
// => 'foobar'
toLower ( ' __FOO_BAR__ ' )
// => '__foo_bar__'
Mengonversi string
, secara keseluruhan, ke huruf besar
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String mengembalikan string cased atas.
Contoh:
<?php
use function _ toUpper ;
toUpper ( ' --foo-bar-- ' )
// => '--FOO-BAR--'
toUpper ( ' fooBar ' )
// => 'FOOBAR'
toUpper ( ' __foo_bar__ ' )
// => '__FOO_BAR__'
Menghapus spasi putih terkemuka dan trailing atau karakter tertentu dari string
.
Argumen:
@param string $ string string untuk trim.
@param String $ Chars Karakter untuk dipotong.
Kembali:
@Return String Mengembalikan string yang dipangkas.
Contoh:
<?php
use function _ trim ;
trim ( ' abc ' )
// => 'abc'
trim ( ' -_-abc-_- ' , ' _- ' )
// => 'abc'
Menghapus whitespace trailing atau karakter tertentu dari string
.
Argumen:
@param string $ string string untuk trim.
@param String $ Chars Karakter untuk dipotong.
Kembali:
@Return String Mengembalikan string yang dipangkas.
Contoh:
<?php
use function _ trimEnd ;
trimEnd ( ' abc ' )
// => ' abc'
trimEnd ( ' -_-abc-_- ' , ' _- ' )
// => '-_-abc'
Menghapus spasi putih terkemuka atau karakter yang ditentukan dari string
.
Argumen:
@param string $ string string untuk trim.
@param String $ Chars Karakter untuk dipotong.
Kembali:
@Return String Mengembalikan string yang dipangkas.
Contoh:
<?php
use function _ trimStart ;
trimStart ( ' abc ' )
// => 'abc '
trimStart ( ' -_-abc-_- ' , ' _- ' )
// => 'abc-_-'
Potong string
jika lebih panjang dari panjang string maksimum yang diberikan. Karakter terakhir dari string terpotong diganti dengan string kelalaian yang default ke "...".
Panjang = 30 Panjang string maksimum. omission = '...' String untuk menunjukkan teks dihilangkan. pemisah pola pemisah yang harus dipotong.
Argumen:
@param string $ string string untuk dipotong.
@param array $ option Option Options Object.
Kembali:
@Return String Mengembalikan string terpotong.
Contoh:
<?php
use function _ truncate ;
truncate ( ' hi-diddly-ho there, neighborino ' )
// => 'hi-diddly-ho there, neighbo...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' length ' => 24 ,
' separator ' => ' '
])
// => 'hi-diddly-ho there,...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' length ' => 24 ,
' separator ' => ' /,? +/ '
])
// => 'hi-diddly-ho there...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' omission ' => ' [...] '
])
// => 'hi-diddly-ho there, neig [...]'
Kebalikan dari escape
ini mengubah entitas HTML &
, <
, >
, "
dan '
dalam string
ke karakter yang sesuai.
Argumen:
@param string $ string string ke unescape.
Kembali:
@Return String mengembalikan string yang tidak terapas.
Contoh:
<?php
use function _ unescape ;
unescape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
Konversi string
, sebagai ruang memisahkan kata -kata, ke huruf besar.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String mengembalikan string cased atas.s
Contoh:
<?php
use function _ upperCase ;
upperCase ( ' --foo-bar ' )
// => 'FOO BAR'
upperCase ( ' fooBar ' )
// => 'FOO BAR'
upperCase ( ' __foo_bar__ ' )
// => 'FOO BAR'
Mengubah karakter pertama dari string
ke huruf besar.
Argumen:
@param string $ string string yang akan dikonversi.
Kembali:
@Return String mengembalikan string yang dikonversi.
Contoh:
<?php
use function _ upperFirst ;
upperFirst ( ' fred ' )
// => 'Fred'
upperFirst ( ' FRED ' )
// => 'FRED'
Membagi string
menjadi array kata -katanya.
Argumen:
@param string $ string string untuk diperiksa.
@param string $ pola pola untuk mencocokkan kata -kata.
Kembali:
@Return Array mengembalikan kata -kata string
.
Contoh:
<?php
use function _ words ;
words ( ' fred, barney, & pebbles ' )
// => ['fred', 'barney', 'pebbles']
words ( ' fred, barney, & pebbles ' , ' /[^, ]+/g ' )
// => ['fred', 'barney', '&', 'pebbles']
Upaya untuk memohon func
, mengembalikan hasil atau objek kesalahan yang tertangkap. Argumen tambahan disediakan untuk func
saat dipanggil.
Argumen S:
@param callable $ func fungsi untuk dicoba.
@param array <int, mixed> $ args argumen untuk meminta func
.
Kembali:
@Return (campuran | throwable) Mengembalikan hasil func
atau objek kesalahan.
Contoh:
<?php
use function _ attempt ;
// Avoid throwing errors for invalid PDO data source.
$ elements = attempt ( function () {
new PDO ( null );
});
if ( isError ( $ elements )) {
$ elements = [];
}
Nilai cek untuk menentukan apakah nilai default harus dikembalikan di tempatnya. Nilai default dikembalikan jika nilai nan atau nol.
Argumen:
@param campuran $ nilai apapun.
@param mixed $ defaultValue nilai untuk dikembalikan ketika nilai $ null atau nan
Kembali:
@Return Mixed Returns value
.
Contoh:
<?php
use function _ defaultTo ;
$ a = null ;
defaultTo ( $ a , " default " );
// => "default"
$ a = " x " ;
defaultTo ( $ a , " default " );
// => "x"
Metode ini mengembalikan argumen pertama yang diterimanya.
Argumen:
@param campuran $ nilai apapun.
Kembali:
@Return Mixed Returns value
.
Contoh:
<?php
use function _ identity ;
$ object = [ ' a ' => 1 ];
identity ( $ object ) === $ object ;
// => true
Menciptakan fungsi yang mengembalikan nilai di path
objek yang diberikan.
Argumen:
@param (array | string) $ path jalur properti untuk mendapatkan.
Kembali:
@Return Callable Mengembalikan fungsi aksesor baru.
Contoh:
<?php
use function _ property ;
$ objects = [
[ ' a ' => [ ' b ' => 2 ] ],
[ ' a ' => [ ' b ' => 1 ] ]
];
map ( $ objects , property ( ' a.b ' ));
// => [2, 1]
map ( sortBy ( $ objects , property ([ ' a ' , ' b ' ])), ' a.b ' );
// => [1, 2]