Lodash-PHP est un portage de la bibliothèque Lodash JS vers PHP. Il s'agit d'un ensemble de fonctions utilitaires faciles à utiliser pour les projets PHP quotidiens.
Lodash-PHP essaie d'imiter lodash.js aussi fidèlement que possible
Lodash-PHP nécessite au minimum PHP 7.2+, mais la dernière version de PHP est toujours recommandée.
Installez Lodash-PHP via composer :
$ composer require lodash-php/lodash-php
Chaque méthode dans Lodash-PHP est une fonction distincte qui peut être importée et utilisée seule.
<?php
use function _ each ;
each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
Lodash-PHP est également livré avec une classe _
globale qui peut être utilisée globalement.
<?php
_:: each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
Crée un tableau d'éléments divisés en groupes d'une longueur égale à size
. Si array
ne peut pas être divisé uniformément, le dernier morceau sera constitué des éléments restants.
Arguments :
@param array $array array Le tableau à traiter.
@param int $number [size=1] La longueur de chaque morceau
Retour:
@return array Renvoie le nouveau tableau de morceaux.
Exemple:
<?php
use function _ chunk ;
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 2 )
// => [['a', 'b'], ['c', 'd']]
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 3 )
// => [['a', 'b', 'c'], ['d']]
Crée un tableau avec toutes les valeurs fausses supprimées. Les valeurs false
, null
, 0
, ""
, undefined
et NaN
sont fausses.
Arguments :
@param array $array Le tableau à compacter.
Retour:
@return array Renvoie le nouveau tableau de valeurs filtrées.
Exemple:
<?php
use function _ compact ;
compact ([ 0 , 1 , false , 2 , '' , 3 ])
// => [1, 2, 3]
Crée un nouveau tableau concaténant array
avec des tableaux et/ou des valeurs supplémentaires.
Arguments :
@param array $array Le tableau à concaténer.
@param array<int, Mixed> $values Les valeurs à concaténer.
Retour:
@return array Renvoie le nouveau tableau concaténé.
Exemple:
<?php
use function _ concat ;
$ array = [ 1 ];
$ other = concat ( $ array , 2 , [ 3 ], [[ 4 ]]);
var_dump ( $ other )
// => [1, 2, 3, [4]]
var_dump ( $ array )
// => [1]
Crée un tableau de valeurs array
non incluses dans les autres tableaux donnés en utilisant SameValueZero
pour les comparaisons d'égalité. L'ordre et les références des valeurs de résultat sont déterminés par le premier tableau.
Remarque : contrairement à pullAll
, cette méthode renvoie un nouveau tableau.
Arguments :
@param array $array Le tableau à inspecter.
@param array ...$values Les valeurs à exclure.
Retour:
@return array Renvoie le nouveau tableau de valeurs filtrées.
Exemple:
<?php
use function _ difference ;
difference ([ 2 , 1 ], [ 2 , 3 ])
// => [1]
Cette méthode est comme difference
sauf qu'elle accepte iteratee
qui sont invoqués pour chaque élément du array
et values
pour générer le critère selon lequel ils sont comparés. L'ordre et les références des valeurs de résultat sont déterminés par le premier tableau. L'itéré est invoqué avec un seul argument : (valeur).
Remarque : contrairement à pullAllBy
, cette méthode renvoie un nouveau tableau.
Arguments :
@param array $array Le tableau à inspecter.
@param array<int, Mixed> ...$values Les valeurs à exclure.
@param callable $iteratee L'itéré invoqué par élément.
Retour:
@return array Renvoie le nouveau tableau de valeurs filtrées.
Exemple:
<?php
use function _ differenceBy ;
differenceBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], ' floor ' )
// => [1.2]
Cette méthode est comme difference
sauf qu'elle accepte comparator
qui est invoqué pour comparer les éléments du array
aux values
. L'ordre et les références des valeurs de résultat sont déterminés par le premier tableau. Le comparateur est invoqué avec deux arguments : (arrVal, othVal).
Remarque : contrairement à pullAllWith
, cette méthode renvoie un nouveau tableau.
Arguments :
@param array<int, Mixed> $array Le tableau à inspecter.
@param array ...$values Les valeurs à exclure.
@param callable $comparator Le comparateur invoqué par élément.
Retour:
@return array Renvoie le nouveau tableau de valeurs filtrées.
Exemple:
<?php
use function _ differenceWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
differenceWith ( $ objects , [[ ' x ' => 1 , ' y ' => 2 ]], ' _::isEqual ' )
// => [[ 'x' => 2, 'y' => 1 ]]
Crée une tranche de array
avec n
éléments supprimés depuis le début.
REMARQUE : Cette fonction réorganisera et réinitialisera les indices du tableau
Arguments :
@param array $array Le tableau à interroger.
@param int $n Le nombre d'éléments à supprimer.
Retour:
@return array la tranche du array
.
Exemple:
<?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]
Crée une tranche de array
avec n
éléments supprimés depuis la fin. REMARQUE : Cette fonction réorganisera et réinitialisera les indices du tableau
Arguments :
@param array $array Le tableau à interroger.
@param int $n Le nombre d'éléments à supprimer.
Retour:
@return array la tranche du array
.
Exemple:
<?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]
Crée une tranche de array
excluant les éléments supprimés depuis la fin. Les éléments sont supprimés jusqu'à ce que predicate
renvoie falsey. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Arguments :
@param array $array Le tableau à interroger.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array la tranche du array
.
Exemple:
<?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']
Crée une tranche de array
excluant les éléments supprimés depuis le début. Les éléments sont supprimés jusqu'à ce que predicate
renvoie falsey. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Arguments :
@param array $array Le tableau à interroger.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array la tranche du array
.
Exemple:
<?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']
Vérifie si predicate
renvoie la vérité pour tous les éléments du array
. L'itération est arrêtée une fois que predicate
renvoie falsey. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Remarque : Cette méthode renvoie true
pour les tableaux vides car tout est vrai pour les éléments des tableaux vides.
Arguments :
@param iterable $collection Le tableau sur lequel effectuer l'itération.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return bool true
si tous les éléments réussissent la vérification du prédicat, sinon false
.
Exemple:
<?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
Cette méthode est comme find
sauf qu'elle renvoie l'index du premier prédicat d'élément qui renvoie la vérité au lieu de l'élément lui-même.
Arguments :
@param array $array Le tableau à inspecter.
@param callable $predicate La fonction invoquée par itération.
@param int $fromIndex L'index à partir duquel effectuer la recherche.
Retour:
@return int l'index de l'élément trouvé, sinon -1
.
Exemple:
<?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
Cette méthode est comme findIndex
sauf qu'elle parcourt les éléments de collection
de droite à gauche.
Arguments :
@param array $array Le tableau à inspecter.
@param Mixed $predicate La fonction invoquée par itération.
@param int $fromIndex L'index à partir duquel effectuer la recherche.
Retour:
@return int l'index de l'élément trouvé, sinon -1
.
Exemple:
<?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
Aplatit array
sur un seul niveau de profondeur.
Arguments :
@param array $array Le tableau à aplatir.
Retour:
@return array le nouveau tableau aplati.
Exemple:
<?php
use function _ flatten ;
flatten ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]])
// => [1, 2, [3, [4]], 5]
Aplatit array
de manière récursive.
Arguments :
@param array $array Le tableau à aplatir.
Retour:
@return array Renvoie le nouveau tableau aplati.
Exemple:
<?php
use function _ flattenDeep ;
flattenDeep ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]);
// => [1, 2, 3, 4, 5]
Aplatir array
de manière récursive jusqu'aux temps depth
.
Arguments :
@param array $array Le tableau à aplatir.
@param int $profondeur La profondeur de récursion maximale.
Retour:
@return array le nouveau tableau aplati.
Exemple:
<?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]
L'inverse de toPairs
, cette méthode renvoie un objet composé de pairs
clé-valeur .
Arguments :
@param array $pairs Les paires clé-valeur.
Retour:
@return stdClass le nouvel objet.
Exemple:
<?php
use function _ fromPairs ;
fromPairs ([[ ' a ' , 1 ], [ ' b ' , 2 ]])
// => stdClass(
// 'a' => 1,
//'b' => 2,
// )
Obtient le premier élément du array
.
Arguments :
@param array $array Le tableau à interroger.
Retour:
@return Mixed Renvoie le premier élément du array
.
Exemple:
<?php
use function _ head ;
head ([ 1 , 2 , 3 ])
// => 1
head ([])
// => null
Obtient l'index auquel la première occurrence de value
se trouve dans array
en utilisant SameValueZero
pour les comparaisons d'égalité. Si fromIndex
est négatif, il est utilisé comme décalage par rapport à la fin du array
.
Arguments :
@param array $array Le tableau à inspecter.
@param Mixed $value La valeur à rechercher.
@param int $fromIndex L'index à partir duquel effectuer la recherche.
Retour:
@return int l'index de la valeur correspondante, sinon -1
.
Exemple:
<?php
use function _ indexOf ;
indexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 1
// Search from the `fromIndex`.
indexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 3
Obtient tous les éléments du array
sauf le dernier.
Arguments :
@param array $array Le tableau à interroger.
Retour:
@return array la tranche du array
.
Exemple:
<?php
use function _ initial ;
initial ([ 1 , 2 , 3 ])
// => [1, 2]
Crée un tableau de valeurs uniques incluses dans tous les tableaux donnés à l'aide de SameValueZero
pour les comparaisons d'égalité. L'ordre et les références des valeurs de résultat sont déterminés par le premier tableau.
Arguments :
@param tableau ...$tableaux
Retour:
@return array le nouveau tableau de valeurs qui se croisent.
Exemple:
<?php
use function _ intersection ;
intersection ([ 2 , 1 ], [ 2 , 3 ])
// => [2]
Cette méthode est comme intersection
sauf qu'elle accepte iteratee
qui sont invoqués pour chaque élément de chaque arrays
pour générer le critère selon lequel ils sont comparés. L'ordre et les références des valeurs de résultat sont déterminés par le premier tableau. L'itéré est invoqué avec un seul argument : (valeur).
Arguments :
@param array<int, mixte> ...$arrays
@param callable $iteratee L'itéré invoqué par élément.
Retour:
@return array le nouveau tableau de valeurs qui se croisent.
Exemple:
<?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 ]]
Cette méthode est comme intersection
sauf qu'elle accepte comparator
qui est invoqué pour comparer les éléments des arrays
. L'ordre et les références des valeurs de résultat sont déterminés par le premier tableau. Le comparateur est invoqué avec deux arguments : (arrVal, othVal).
Arguments :
@param tableau ...$tableaux
@param callable $comparator Le comparateur invoqué par élément.
Retour:
@return array le nouveau tableau de valeurs qui se croisent.
Exemple:
<?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 ]]
Obtient le dernier élément du array
.
Arguments :
@param array $array Le tableau à interroger.
Retour:
@return Mixed Renvoie le dernier élément du array
.
Exemple:
<?php
use function _ last ;
last ([ 1 , 2 , 3 ])
// => 3
Cette méthode est comme indexOf
sauf qu'elle parcourt les éléments du array
de droite à gauche.
Arguments :
@param array $array Le tableau à inspecter.
@param Mixed $value La valeur à rechercher.
@param int $fromIndex L'index à partir duquel effectuer la recherche.
Retour:
@return int l'index de la valeur correspondante, sinon -1
.
Exemple:
<?php
use function _ lastIndexOf ;
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 3
// Search from the `fromIndex`.
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 1
Obtient l'élément à l'index n
du array
. Si n
est négatif, le nième élément à partir de la fin est renvoyé.
Arguments :
@param array $array Le tableau à interroger.
@param int $n L'index de l'élément à retourner.
Retour:
@return Mixed Renvoie le nième élément du array
.
Exemple:
<?php
use function _ nth ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
nth ( $ array , 1 )
// => 'b'
nth ( $ array , - 2 )
// => 'c'
Supprime toutes les valeurs données du array
en utilisant SameValueZero
pour les comparaisons d'égalité.
Remarque : contrairement à without
, cette méthode mute array
. Utilisez remove
pour supprimer des éléments d'un tableau par prédicat.
Arguments :
@param array $array Le tableau à modifier.
@param array<int, string> $values Les valeurs à supprimer.
Retour:
tableau @return
Exemple:
<?php
use function _ pull ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pull ( $ array , ' a ' , ' c ' )
var_dump ( $ array )
// => ['b', 'b']
Cette méthode est comme pull
sauf qu'elle accepte un tableau de valeurs à supprimer.
Remarque : contrairement à difference
, cette méthode mute array
.
Arguments :
@param array $array Le tableau à modifier.
@param array $values Les valeurs à supprimer.
Retour:
@return array
tableau .
Exemple:
<?php
use function _ pullAll ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pullAll ( $ array , [ ' a ' , ' c ' ])
var_dump ( $ array )
// => ['b', 'b']
Cette méthode est comme pullAll
sauf qu'elle accepte iteratee
qui sont invoqués pour chaque élément du array
et values
pour générer le critère selon lequel ils sont comparés. L'itéré est invoqué avec un seul argument : (valeur).
Remarque : contrairement à differenceBy
, cette méthode mute array
.
Arguments :
@param array $array Le tableau à modifier.
@param array $values Les valeurs à supprimer.
@param callable $iteratee L'itéré invoqué par élément.
Retour:
@return array
tableau .
Exemple:
<?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 ]]
Cette méthode est comme pullAll
sauf qu'elle accepte comparator
qui est invoqué pour comparer les éléments du array
aux values
. Le comparateur est invoqué avec deux arguments : (arrVal, othVal).
Remarque : contrairement à differenceWith
, cette méthode mute array
.
Arguments :
@param array $array Le tableau à modifier.
@param array $values Les valeurs à supprimer.
@param callable $comparator Le comparateur invoqué par élément.
Retour:
@return array
tableau .
Exemple:
<?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 ]]
Supprime les éléments du array
correspondant aux indexes
et renvoie un tableau d'éléments supprimés.
Remarque : contrairement at
, cette méthode mute array
.
Arguments :
@param array $array Le tableau à modifier.
@param (int | int[]) $indexes Les index des éléments à supprimer.
Retour:
@return array le nouveau tableau d'éléments supprimés.
Exemple:
<?php
use function _ pullAt ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
$ pulled = pullAt ( $ array , [ 1 , 3 ])
var_dump ( $ array )
// => ['a', 'c']
var_dump ( $ pulled )
// => ['b', 'd']
Supprime tous les éléments du array
pour lesquels predicate
renvoie la vérité et renvoie un tableau des éléments supprimés. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Remarque : contrairement à filter
, cette méthode mute array
. Utilisez pull
pour extraire des éléments d’un tableau par valeur.
Arguments :
@param array $array Le tableau à modifier.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array le nouveau tableau d'éléments supprimés.
Exemple:
<?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]
Obtient un élément aléatoire du array
.
Arguments :
@param array $array Le tableau à échantillonner.
Retour:
@return Mixed Renvoie l'élément aléatoire.
Exemple:
<?php
use function _ sample ;
sample ([ 1 , 2 , 3 , 4 ])
// => 2
Obtient n
éléments aléatoires sur des clés uniques du array
jusqu'à la taille du array
.
Arguments :
@param array $array Le tableau à échantillonner.
@param int $n Le nombre d'éléments à échantillonner.
Retour:
@return tableau les éléments aléatoires.
Exemple:
<?php
use function _ sampleSize ;
sampleSize ([ 1 , 2 , 3 ], 2 )
// => [3, 1]
sampleSize ([ 1 , 2 , 3 ], 4 )
// => [2, 3, 1]
Crée un tableau de valeurs mélangées
Arguments :
@param array $array Le tableau à mélanger.
Retour:
@return array le nouveau tableau mélangé.
Exemple:
<?php
use function _ shuffle ;
shuffle ([ 1 , 2 , 3 , 4 ])
// => [4, 1, 3, 2]
Crée une tranche de array
du start
jusqu'à end
, sans y inclure.
Arguments :
@param array $array Le tableau à découper.
@param int $start La position de départ.
@param int $end La position finale.
Retour:
@return array la tranche du array
.
Obtient tous les éléments du array
sauf le premier.
Arguments :
@param array $array Le tableau à interroger.
Retour:
@return array la tranche du array
.
Exemple:
<?php
use function _ tail ;
tail ([ 1 , 2 , 3 ])
// => [2, 3]
Crée une tranche de array
avec n
éléments pris depuis le début.
Arguments :
@param array $array Le tableau à interroger.
@param int $n Le nombre d'éléments à prendre.
Retour:
@return array la tranche du array
.
Exemple:
<?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 )
// => []
Crée une tranche de array
avec n
éléments pris à la fin.
Arguments :
@param array $array Le tableau à interroger.
@param int $n Le nombre d'éléments à prendre.
Retour:
@return array la tranche du array
.
Exemple:
<?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 )
// => []
Crée une tranche de array
avec des éléments pris à la fin. Les éléments sont pris jusqu'à ce que predicate
renvoie falsey. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Arguments :
@param array $array Le tableau à interroger.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array la tranche du array
.
Exemple:
<?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']
Crée une tranche de array
avec des éléments pris depuis le début. Les éléments sont pris jusqu'à ce que predicate
renvoie falsey. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Arguments :
@param array $array Le tableau à interroger.
@param Mixed $predicate La fonction invoquée par itération.
Retour:
@return array la tranche du array
.
Exemple:
<?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']
Crée un tableau de valeurs uniques, dans l'ordre, à partir de tous les tableaux donnés en utilisant SameValueZero
pour les comparaisons d'égalité.
Arguments :
@param array ...$arrays Les tableaux à inspecter.
Retour:
@return array le nouveau tableau de valeurs combinées.
Exemple:
<?php
use function _ union ;
union ([ 2 ], [ 1 , 2 ])
// => [2, 1]
Cette méthode est comme union
sauf qu'elle accepte iteratee
qui sont invoqués pour chaque élément de chaque arrays
pour générer le critère selon lequel l'unicité est calculée. Les valeurs de résultat sont choisies dans le premier tableau dans lequel la valeur apparaît. L'itéré est invoqué avec un seul argument : (valeur).
Arguments :
@param array<int, Mixed> ...$arrays Les tableaux à inspecter.
@param callable $iteratee L'itéré invoqué par élément.
Retour:
@return array le nouveau tableau de valeurs combinées.
Exemple:
<?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]]
Cette méthode est comme union
sauf qu'elle accepte comparator
qui est invoqué pour comparer les éléments des arrays
. Les valeurs de résultat sont choisies dans le premier tableau dans lequel la valeur apparaît. Le comparateur est invoqué avec deux arguments : (arrVal, othVal).
Arguments :
@param array<int, Mixed> ...$arrays Les tableaux à inspecter.
@param callable $comparator Le comparateur invoqué par élément.
Retour:
@return array le nouveau tableau de valeurs combinées.
Exemple:
<?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]]
Crée une version sans doublon d'un tableau, en utilisant SameValueZero
pour les comparaisons d'égalité, dans laquelle seule la première occurrence de chaque élément est conservée. L'ordre des valeurs de résultat est déterminé par l'ordre dans lequel elles apparaissent dans le tableau.
Arguments :
@param array $array Le tableau à inspecter.
Retour:
@return array le nouveau tableau libre en double.
Exemple:
<?php
use function _ uniq ;
uniq ([ 2 , 1 , 2 ])
// => [2, 1]s
Cette méthode est comme uniq
sauf qu'elle accepte iteratee
qui sont invoqués pour chaque élément du array
pour générer le critère selon lequel l'unicité est calculée. L'ordre des valeurs de résultat est déterminé par l'ordre dans lequel elles apparaissent dans le tableau. L'itéré est invoqué avec un seul argument : (valeur).
Arguments :
@param array $array Le tableau à inspecter.
@param Mixed $iteratee L'itéré invoqué par élément.
Retour:
@return array le nouveau tableau libre en double.
Exemple:
<?php
use function _ uniqBy ;
uniqBy ([ 2.1 , 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
Cette méthode est comme uniq
sauf qu'elle accepte comparator
qui est invoqué pour comparer les éléments d' array
. L'ordre des valeurs de résultat est déterminé par l'ordre dans lequel elles apparaissent dans le tableau. Le comparateur est invoqué avec deux arguments : (arrVal, othVal).
Arguments :
@param array $array Le tableau à inspecter.
@param callable $comparator Le comparateur invoqué par élément.
Retour:
@return array le nouveau tableau libre en double.
Exemple:
<?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]]
Cette méthode est comme zip
sauf qu'elle accepte un tableau d'éléments groupés et crée un tableau regroupant les éléments selon leur configuration pré-zip.
Arguments :
@param array $array Le tableau d'éléments groupés à traiter.
Retour:
@return array le nouveau tableau d'éléments regroupés.
Exemple:
<?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]]
Cette méthode est comme unzip
sauf qu'elle accepte iteratee
pour spécifier comment les valeurs regroupées doivent être combinées. L'itéré est invoqué avec les éléments de chaque groupe : (...)groupe.
Arguments :
@param array $array Le tableau d'éléments groupés à traiter.
@param (callable | null) $iteratee La fonction pour combiner les valeurs regroupées.
Retour:
@return array le nouveau tableau d'éléments regroupés.
Exemple:
<?php
use function _ unzipWith ;
$ zipped = zip ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ])
// => [[1, 10, 100], [2, 20, 200]]
unzipWith (zipped, ' _::add ' )
// => [3, 30, 300]
Crée un tableau excluant toutes les valeurs données en utilisant SameValueZero
pour les comparaisons d'égalité.
Remarque : contrairement à pull
, cette méthode renvoie un nouveau tableau.
Arguments :
@param array $array Le tableau à inspecter.
@param array<int, Mixed> $values Les valeurs à exclure.
Retour:
@return array le nouveau tableau de valeurs filtrées.
Exemple:
<?php
use function _ without ;
without ([ 2 , 1 , 2 , 3 ], 1 , 2 )
// => [3]
Crée un tableau d'éléments groupés, dont le premier contient les premiers éléments des tableaux donnés, le second contient les seconds éléments des tableaux donnés, et ainsi de suite.
Arguments :
@param array ...$arrays Les tableaux à traiter.
Retour:
@return array le nouveau tableau d'éléments groupés.
Exemple:
<?php
use function _ zip ;
zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
Cette méthode est similaire fromPairs
sauf qu'elle accepte deux tableaux, un d'identifiants de propriété et un de valeurs correspondantes.
Arguments :
@param array $props Les identifiants de propriété.
@param array $values Les valeurs de la propriété.
Retour:
@return object le nouvel objet.
Exemple:
<?php
use function _ zipObject ;
zipObject ([ ' a ' , ' b ' ], [ 1 , 2 ])
/* => object(stdClass) #210 (2) {
[ " a " ] => int( 1 )
[ " b " ] => int( 2 )
}
*/
Cette méthode est similaire à zipObject
sauf qu'elle prend en charge les chemins de propriété.
Arguments :
@param array $props Les identifiants de propriété.
@param array $values Les valeurs de la propriété.
Retour:
@return stdClass le nouvel objet.
Exemple:
<?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 )
}
}
}
}
*/
Cette méthode est comme zip
sauf qu'elle accepte iteratee
pour spécifier comment les valeurs groupées doivent être combinées. L'itéré est invoqué avec les éléments de chaque groupe : (...)groupe.
Arguments :
@param array<int, (array | callable)> ...$arrays Les tableaux à traiter.
@param callable $iteratee La fonction pour combiner des valeurs groupées.
Retour:
@return array le nouveau tableau d'éléments groupés.
Exemple:
<?php
use function _ zipWith ;
zipWith ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ], function ( $ a , $ b , $ c ) { return $ a + $ b + $ c ; })
// => [111, 222]
Crée un tableau composé de clés générées à partir des résultats de l'exécution de chaque élément de collection
via iteratee
. La valeur correspondante de chaque clé est le nombre de fois que la clé a été renvoyée par iteratee
. L'itéré est invoqué avec un seul argument : (valeur).
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $iteratee L'itéré pour transformer les clés.
Retour:
@return array Renvoie l'objet agrégat composé.
Exemple:
<?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]
Parcourt les éléments de collection
et appelle iteratee
pour chaque élément. L'itéré est invoqué avec trois arguments : (valeur, index|clé, collection). Les fonctions itérées peuvent quitter l'itération plus tôt en renvoyant explicitement false
.
Remarque : Comme pour les autres méthodes "Collections", les objets dotés d'une propriété "length" sont itérés comme des tableaux. Pour éviter ce comportement, utilisez forIn
ou forOwn
pour l'itération d'objet.
Arguments :
@param (array | iterable | object) $collection La collection sur laquelle itérer.
@param callable $iteratee La fonction invoquée par itération.
Retour:
@return (array | object) Renvoie collection
.
Exemple:
<?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).
Cette méthode est comme each
, sauf qu’elle parcourt les éléments de collection
de droite à gauche.
Arguments :
@param (array | iterable | object) $collection La collection sur laquelle itérer.
@param callable $iteratee La fonction invoquée par itération.
Retour:
@return (array | object) Renvoie collection
.
Exemple:
<?php
use function _ eachRight ;
eachRight ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `2` then `1`.
Itère sur les éléments du array
, renvoyant un tableau de tous les éléments pour lesquels predicate
renvoie la vérité. Le prédicat est invoqué avec trois arguments : (valeur, index, tableau).
Remarque : contrairement à remove
, cette méthode renvoie un nouveau tableau.
Arguments :
@param iterable $array Le tableau sur lequel effectuer l'itération.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array le nouveau tableau filtré.
Exemple:
<?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']
Itère sur les éléments de collection
, renvoyant le premier predicate
d'élément qui renvoie la vérité. Le prédicat est invoqué avec trois arguments : (valeur, index|clé, collection).
Arguments :
@param iterable $collection La collection à inspecter.
@param callable $predicate La fonction invoquée par itération.
@param int $fromIndex L'index à partir duquel effectuer la recherche.
Retour:
@return Mixed Renvoie l'élément correspondant, sinon null
.
Exemple:
<?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'
Cette méthode est comme find
sauf qu'elle parcourt les éléments de collection
de droite à gauche.
Arguments :
@param iterable $collection La collection à inspecter.
@param callable $predicate La fonction invoquée par itération.
@param int $fromIndex L'index à partir duquel effectuer la recherche.
Retour:
@return Mixed Renvoie l'élément correspondant, sinon undefined
.
Exemple:
<?php
use function _ findLast ;
findLast ([ 1 , 2 , 3 , 4 ], function ( $ n ) { return $ n % 2 == 1 ; })
// => 3
Crée un tableau aplati de valeurs en exécutant chaque élément de collection
via iteratee
et en aplatissant les résultats mappés. L'itéré est invoqué avec trois arguments : (valeur, index|clé, collection).
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $iteratee La fonction invoquée par itération.
Retour:
@return array le nouveau tableau aplati.
Exemple:
<?php
use function _ flatMap ;
function duplicate ( $ n ) {
return [ $ n , $ n ]
}
flatMap ([ 1 , 2 ], ' duplicate ' )
// => [1, 1, 2, 2]
Cette méthode est similaire à flatMap
sauf qu'elle aplatit de manière récursive les résultats cartographiés.
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $iteratee La fonction invoquée par itération.
Retour:
@return array Renvoie le nouveau tableau aplati.
Exemple:
<?php
use function _ flatMapDeep ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]];
}
flatMapDeep ([ 1 , 2 ], ' duplicate ' );
// => [1, 1, 2, 2]
Cette méthode est comme flatMap
sauf qu'elle aplatit de manière récursive les résultats cartographiés jusqu'aux temps depth
.
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $iteratee La fonction invoquée par itération.
@param int $profondeur La profondeur de récursion maximale.
Retour:
@return array le nouveau tableau aplati.
Exemple:
<?php
use function _ flatMapDepth ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]]
}
flatMapDepth ([ 1 , 2 ], ' duplicate ' , 2 )
// => [[1, 1], [2, 2]]
Crée un tableau composé de clés générées à partir des résultats de l'exécution de chaque élément de collection
via iteratee
. L'ordre des valeurs regroupées est déterminé par l'ordre dans lequel elles apparaissent dans collection
. La valeur correspondante de chaque clé est un tableau d'éléments responsables de la génération de la clé. L'itéré est invoqué avec un seul argument : (valeur).
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $iteratee L'itéré pour transformer les clés.
Retour:
@return array Renvoie l'objet agrégat composé.
Exemple:
<?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']]
Appelle la méthode au path
de chaque élément de collection
, renvoyant un tableau des résultats de chaque méthode invoquée. Tous les arguments supplémentaires sont fournis à chaque méthode invoquée. Si path
est une fonction, elle est invoquée pour, et this
à, chaque élément de collection
.
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param (array | callable | string) $path Le chemin de la méthode à invoquer ou de la fonction invoquée par itération.
@param array $args Les arguments avec lesquels appeler chaque méthode.
Retour:
@return tableau le tableau des résultats.
Exemple:
<?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']]
Crée un objet composé de clés générées à partir des résultats de l'exécution de chaque élément de collection
via iteratee
. La valeur correspondante de chaque clé est le dernier élément responsable de la génération de la clé. L'itéré est invoqué avec un seul argument : (valeur).
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $iteratee L'itéré pour transformer les clés.
Retour:
@return tableau l'objet agrégat composé.
Exemple:
<?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]]
Crée un tableau de valeurs en exécutant chaque élément de collection
via iteratee
. L'itéré est invoqué avec trois arguments : (valeur, index|clé, collection).
De nombreuses méthodes lodash-php sont protégées pour fonctionner comme itérées pour des méthodes telles que _::every
, _::filter
, _::map
, _::mapValues
, _::reject
et _::some
.
Les méthodes protégées sont : 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
et words
Arguments :
@param (array | object) $collection La collection sur laquelle parcourir.
@param (callable | string | array) $iteratee La fonction invoquée par itération.
Retour:
@return array Renvoie le nouveau tableau mappé.
Exemple:
<?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']
Cette méthode est similaire sortBy
sauf qu'elle permet de spécifier les ordres de tri des itérés à trier. Si orders
n'est pas spécifiée, toutes les valeurs sont triées par ordre croissant. Sinon, spécifiez un ordre de tri « desc » pour un ordre décroissant ou « asc » pour un ordre de tri croissant des valeurs correspondantes.
Arguments :
@param (iterable | null) $collection La collection sur laquelle itérer.
@param (array[] | callable[] | string[]) $iteratee Le ou les itérés sur lesquels trier.
@param string[] $orders Les ordres de tri des iteratees
.
Retour:
@return array le nouveau tableau trié.
Exemple:
<?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]]
Crée un tableau d'éléments divisé en deux groupes, le premier contenant des éléments que predicate
renvoie véridiquement pour, le second contenant des éléments predicate
renvoie faussement pour. Le prédicat est invoqué avec un seul argument : (valeur).
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array le tableau d'éléments groupés.
Exemple:
<?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']]
Réduit collection
à une valeur qui est le résultat accumulé de l'exécution de chaque élément de collection
via iteratee
, où chaque invocation successive reçoit la valeur de retour de la précédente. Si accumulator
n'est pas renseigné, le premier élément de collection
est utilisé comme valeur initiale. L'itéré est invoqué avec quatre arguments : (accumulateur, valeur, index|clé, collection).
De nombreuses méthodes lodash sont protégées pour fonctionner comme itérées pour des méthodes telles que reduce
, reduceRight
et transform
.
Les méthodes protégées sont : assign
, defaults
, defaultsDeep
, includes
, merge
, orderBy
et sortBy
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param Mixed $iteratee La fonction invoquée par itération.
@param Mixed $accumulator La valeur initiale.
Retour:
@return Mixed Renvoie la valeur accumulée.
Exemple:
<?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)
Cette méthode est similaire reduce
sauf qu'elle parcourt les éléments de collection
de droite à gauche.
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param Mixed $iteratee La fonction invoquée par itération.
@param Mixed $accumulator La valeur initiale.
Retour:
@return Mixed Renvoie la valeur accumulée.
Exemple:
<?php
use function _ reduceRight ;
$ array = [[ 0 , 1 ], [ 2 , 3 ], [ 4 , 5 ]];
reduceRight ( array , (flattened, other) => flattened. concat (other), [])
// => [4, 5, 2, 3, 0, 1]
À l'opposé de filter
cette méthode renvoie les éléments de collection
pour lesquels predicate
ne renvoie pas la vérité.
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param callable $predicate La fonction invoquée par itération.
Retour:
@return array le nouveau tableau filtré.
Exemple:
<?php
use function _ reject ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
]
reject ( $ users , ' active ' )
// => objects for ['fred']
Obtient la taille de collection
en renvoyant sa longueur pour les valeurs du tableau ou le nombre de propriétés publiques pour les objets.
Arguments :
@param (array | object | string) $collection La collection à inspecter.
Retour:
@return int Renvoie la taille de la collection.
Exemple:
<?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
Vérifie si predicate
renvoie la vérité pour n'importe quel élément de collection
. L'itération est arrêtée une fois que predicate
revient véridique. Le prédicat est invoqué avec trois arguments : (valeur, index|clé, collection).
Arguments :
@param iterable $collection La collection sur laquelle itérer.
@param (callable | string | array) $predicate La fonction invoquée par itération.
Retour:
@return boolean Renvoie true
si un élément réussit la vérification du prédicat, sinon false
.
Exemple:
<?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
Crée un tableau d'éléments, triés par ordre croissant en fonction des résultats de l'exécution de chaque élément d'une collection à travers chaque itéré. Cette méthode effectue un tri stable, c'est-à-dire qu'elle préserve l'ordre de tri d'origine des éléments égaux. Les itérés sont invoqués avec un seul argument : (valeur).
Arguments :
@param (array | object | null) $collection La collection sur laquelle itérer.
@param (callable | callable[]) $iteratees Les itérés à trier.
Retour:
@return array Renvoie le nouveau tableau trié.
Exemple:
<?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]]
Obtient l'horodatage du nombre de millisecondes écoulées depuis l'époque Unix (1er janvier 1970 00:00:00 UTC).
Arguments :
Retour:
@return int Renvoie l'horodatage.
Exemple:
<?php
use function _ now ;
now ();
// => 1511180325735
Le contraire d’ before
; cette méthode crée une fonction qui appelle func
une fois qu'elle est appelée n
fois ou plus.
Arguments :
@param int $n Le nombre d'appels avant que func
ne soit invoqué.
@param Callable $func La fonction à restreindre.
Retour:
@return Callable Renvoie la nouvelle fonction restreinte.
Exemple:
<?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.
Crée une fonction qui appelle func
, avec jusqu'à n
arguments, en ignorant tout argument supplémentaire.
Arguments :
@param callable $func La fonction pour laquelle limiter les arguments.
@param int $n Le plafond d'arité.
Retour:
@return Callable Renvoie la nouvelle fonction plafonnée.
Exemple:
<?php
use function _ ary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], ary ( ' intval ' , 1 ));
// => [6, 8, 10]
Crée une fonction qui appelle func
, avec les arguments de la fonction créée, alors qu'elle est appelée moins de n
fois. Les appels suivants à la fonction créée renvoient le résultat du dernier appel func
.
Arguments :
@param int $n Le nombre d'appels auxquels func
n'est plus invoqué.
@param callable $func La fonction à restreindre.
Retour:
@return callable Renvoie la nouvelle fonction restreinte.
Exemple:
<?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.
Crée une fonction qui appelle func
avec la liaison this
de object
et partials
ajoutés aux arguments qu'il reçoit.
Arguments :
@param callable $function La fonction à lier.
@param (object | Mixed) $object La liaison object
de func
.
@param array<int, Mixed> $partials Les arguments à appliquer partiellement.
Retour:
@return callable Renvoie la nouvelle fonction liée.
Exemple:
<?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!'
Crée une fonction qui appelle la méthode $function
de $object
avec $partials
ajouté aux arguments qu'elle reçoit.
Cette méthode diffère de bind
en permettant aux fonctions liées de référencer des méthodes qui peuvent être redéfinies ou qui n'existent pas encore.
Arguments :
@param object $object L'objet sur lequel appeler la méthode.
@param string $function Le nom de la méthode.
@param array<int, Mixed> $partials Les arguments à appliquer partiellement.
Retour:
@return callable Renvoie la nouvelle fonction liée.
Exemple:
<?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!'
Crée une fonction qui accepte les arguments de func
et soit invoque func
renvoyant son résultat, si au moins un nombre arity
d'arguments ont été fournis, soit renvoie une fonction qui accepte les arguments func
restants, et ainsi de suite. L'arité de func
peut être spécifiée si func.length
n'est pas suffisant.
La valeur _.curry.placeholder
, qui est par défaut _
dans les versions monolithiques, peut être utilisée comme espace réservé pour les arguments fournis.
Remarque : Cette méthode ne définit pas la propriété "length" des fonctions au curry.
Arguments :
@param callable $func La fonction à curry.
@param (int | null) $arity L'arité de func
.
Retour:
@return callable Renvoie la nouvelle fonction curry.
Exemple:
<?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]
Appelle func
après quelques millisecondes wait
. Tous les arguments supplémentaires sont fournis pour func
lorsqu'il est invoqué.
Arguments :
@param callable $func La fonction à retarder.
@param int $wait Le nombre de millisecondes pour retarder l'invocation.
@param array<int, mixte> $args
Retour:
@return dans l'identifiant de la minuterie.
Exemple:
<?php
use function _ delay ;
delay ( function ( $ text ) {
echo $ text ;
}, 1000 , ' later ' );
// => Echo 'later' after one second.
Crée une fonction qui appelle func
avec les arguments inversés.
Arguments :
@param callable $func La fonction pour laquelle retourner les arguments.
Retour:
@return callable Renvoie la nouvelle fonction inversée.
Exemple:
<?php
use function _ flip ;
$ flipped = flip ( function () {
return func_get_args ();
});
flipped ( ' a ' , ' b ' , ' c ' , ' d ' );
// => ['d', 'c', 'b', 'a']
Crée une fonction qui mémorise le résultat de func
. Si resolver
est fourni, il détermine la clé de cache pour stocker le résultat en fonction des arguments fournis à la fonction mémorisée. Par défaut, le premier argument fourni à la fonction mémorisée est utilisé comme clé de cache de carte
Remarque : Le cache est exposé en tant que propriété cache
sur la fonction mémorisée. Sa création peut être personnalisée en remplaçant le constructeur _.memoize.Cache
par un constructeur dont les instances implémentent l'interface de la méthode Map
de clear
, delete
, get
, has
et set
.
Arguments :
@param callable $func La fonction dont la sortie est mémorisée.
@param (callable | null) $resolver La fonction pour résoudre la clé de cache.
Retour:
@return callable Renvoie la nouvelle fonction mémorisée.
Exemple:
<?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']
Crée une fonction qui annule le résultat de la func
prédicat
Arguments :
@param callable $predicate Le prédicat à nier.
Retour:
@return callable Renvoie la nouvelle fonction annulée.
Exemple:
<?php
use function _ negate ;
function isEven ( $ n ) {
return $ n % 2 == 0 ;
}
filter ([ 1 , 2 , 3 , 4 , 5 , 6 ], negate ( $ isEven ));
// => [1, 3, 5]
Crée une fonction limitée à l'appel func
une seule fois. Les appels répétés à la fonction renvoient la valeur du premier appel. La func
est invoquée avec les arguments de la fonction créée.
Arguments :
@param callable $func La fonction à restreindre.
Retour:
@return appelle la nouvelle fonction restreinte.
Exemple:
<?php
use function _ once ;
$ initialize = once ( ' createApplication ' );
$ initialize ();
$ initialize ();
// => `createApplication` is invoked once
Crée une fonction qui appelle func
avec ses arguments transformés.
Arguments :
@param callable $func La fonction à envelopper.
@param callable[] $transforms L'argument se transforme.
Retour:
@return appelable la nouvelle fonction.
Exemple:
<?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]
Crée une fonction qui appelle func
avec partials
ajoutés aux arguments qu'elle reçoit.
Arguments :
@param callable $func La fonction à laquelle appliquer partiellement les arguments.
@param array<int, Mixed> $partials Les arguments à appliquer partiellement.
Retour:
@return callable Renvoie la nouvelle fonction partiellement appliquée.
Exemple:
<?php
use function _ partial ;
function greet ( $ greeting , $ name ) {
return $ greeting . ' ' . $ name ;
}
$ sayHelloTo = partial ( ' greet ' , ' hello ' );
$ sayHelloTo ( ' fred ' );
// => 'hello fred'
Crée une fonction qui invoque func
avec this
liaison de la fonction créée et les arguments du start
et au-delà de fournis comme un tableau.
Arguments:
@param callable $ func la fonction pour appliquer un paramètre de repos à.
@param (int | null) $ Démarrer la position de début du paramètre de repos.
Retour:
@return callable renvoie la nouvelle fonction.
Exemple:
<?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'
Crée une fonction qui invoque func
avec la liaison de this
fonction de création et un tableau d'arguments un peu comme Function#apply
.
Remarque: Cette méthode est basée sur l'opérateur de diffusion.
Arguments:
@param callable $ func la fonction pour diffuser des arguments.
@param int $ Démarrez la position de début de l'écart.
Retour:
@return callable renvoie la nouvelle fonction.
Exemple:
<?php
use function _ spread ;
$ say = spread ( function ( $ who , $ what ) {
return $ who . ' says ' . $ what ;
});
$ say ([ ' fred ' , ' hello ' ]);
// => 'fred says hello'
Crée une fonction qui accepte jusqu'à un argument, ignorant tout argument supplémentaire.
Arguments:
@param callable $ func la fonction pour plafonner les arguments pour.
Retour:
@return Calable la nouvelle fonction plafonnée.
Exemple:
<?php
use function _ unary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], unary ( ' intval ' ));
// => [6, 8, 10]
Crée une fonction qui fournit value
à wrapper
comme premier argument. Tous les arguments supplémentaires fournis à la fonction sont ajoutés à ceux fournis à l' wrapper
.
Arguments:
@param mixée $ Valeur la valeur à envelopper.
@param callable $ wrapper the wrapper function.
Retour:
@return appelant la nouvelle fonction.
Exemple:
<?php
use function _ wrap ;
$ p = wrap ( ' _escape ' , function ( $ func , $ text ) {
return ' <p> ' . $ func ( $ text ) . ' </p> ' ;
});
$ p ( ' fred, barney, & pebbles ' );
// => '<p>fred, barney, & pebbles</p>'
Effectue une comparaison entre deux valeurs pour déterminer si elles sont équivalentes.
Arguments:
@param mixtes $ valeur la valeur à comparer.
@param mixte $ autre l'autre valeur à comparer.
Retour:
@return booléen renvoie true
si les valeurs sont équivalentes, sinon false
.
Exemple:
<?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
Effectue une comparaison profonde entre deux valeurs pour déterminer si elles sont équivalentes.
Remarque: Cette méthode prend en charge la comparaison des tableaux, des booléens, des objets DateTime, des objets exceptionnels, SploBjectStorage, des nombres, des chaînes, des tableaux typés, des ressources, des nœuds DOM. Les objets sont comparés par leurs propres propriétés énumérées et non héritées.
Arguments:
@param mixtes $ valeur la valeur à comparer.
@param mixte $ autre l'autre valeur à comparer.
Retour:
@return bool renvoie true
si les valeurs sont équivalentes, sinon false
.
Exemple:
<?php
use function _ isEqual ;
$ object = [ ' a ' => 1 ]
$ other = [ ' a ' => ' 1 ' ]
isEqual ( $ object , $ other )
// => true
$ object === $ other
// => false
Vérifie si value
est une Exception
, ParseError
, error , Throwable
, soapfault , DOMException
, pDoException`, objet.
Arguments:
@Param mixtes $ valeur la valeur à vérifier.
Retour:
@return booléen renvoie true
si value
est un objet d'erreur, sinon false
.
Exemple:
<?php
use function _ isError ;
isError ( new Exception ())
// => true
isError (Exception::Class)
// => false
Ajoute deux nombres.
Arguments:
@param (int | float | string) $ augmenter le premier numéro dans un ajout.
@param (int | float | string) $ addend le deuxième numéro dans un ajout.
Retour:
@return (int | float) renvoie le total.
Exemple:
<?php
use function _ add ;
add ( 6 , 4 );
// => 10
Calcule la valeur maximale du array
. Si array
est vide ou en fief, null est retourné.
Arguments:
@param (tableau | null) $ Array le tableau pour itérer.
Retour:
@return (int | null) renvoie la valeur maximale.
Exemple:
<?php
use function _ max ;
max ([ 4 , 2 , 8 , 6 ]);
// => 8
max ([]);
// => null
Cette méthode est comme max
sauf qu'elle accepte iteratee
qui est invoquée pour chaque élément de array
afin de générer le critère par lequel la valeur est classée. L'itération est invoquée par un seul argument: (valeur).
Arguments:
@param tableau $ array le tableau pour itérer.
@param (callable | string) $ itératee l'itéré invoqué par élément.
Retour:
@return mixte renvoie la valeur maximale.
Exemple:
<?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
de serrage dans les limites lower
et upper
inclusives.
Arguments:
@param int $ numéro le numéro à serrer.
@param int $ baisser la borne inférieure.
@param int $ supérieur la limite supérieure.
Retour:
@return int renvoie le numéro serré.
Exemple:
<?php
use function _ clamp ;
clamp (- 10 , - 5 , 5 )
// => -5
clamp ( 10 , - 5 , 5 )
// => 5
Vérifie si number
est entre start
et jusqu'à la fin, mais sans end
. Si end
n'est pas spécifiée, il est réglé pour start
par start
puis réglé sur 0
. Si start
est supérieur à end
les paramètres sont échangés pour prendre en charge les plages négatives.
Arguments:
@param float $ numéro le numéro à vérifier.
@param float $ démarrer le début de la gamme.
@param float $ end la fin de la gamme.
Retour:
@return booléen renvoie true
si number
est dans la plage, sinon false
.
Exemple:
<?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
Produit un nombre aléatoire entre les limites lower
et upper
inclusives. Si un seul argument est fourni un nombre entre 0
et le numéro donné est renvoyé. Si floating
est true
, ou lower
ou upper
sont des flotteurs, un numéro à virgule flottante est renvoyé au lieu d'un entier.
Arguments:
@param (int | float | bool) $ baisser la borne inférieure.
@param (int | float | bool) $ supérieur la limite supérieure.
@param (bool | null) $ flottant spécifiez le renvoi d'un numéro de point flottant.
Retour:
@return (int | float) renvoie le nombre aléatoire.
Exemple:
<?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
Obtient la valeur au chemin de l'objet. Si la valeur résolue est nulle, la valeur defaultvalue est renvoyée à sa place.
Arguments:
@param mixte $ objet le tableau ou l'objet associatif pour récupérer de la valeur à partir de
@param (tableau | chaîne) $ Path Dot séparé ou tableau de chaîne
@param mixtes $ defaultValue (facultatif) La valeur renvoyée pour les valeurs non résolues ou nulles.
Retour:
@return mixte renvoie la valeur résolue.
Exemple:
<?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 " );
// => ""
Crée un objet composé des propriétés object
choisi.
Arguments:
@param objet $ objet l'objet source.
@param (String | String []) $ PATAILS Les chemins de propriété à choisir.
Retour:
@return stdclass renvoie le nouvel objet.
Exemple:
<?php
use function _ pick ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' 2 ' , ' c ' => 3 ];
pick ( $ object , [ ' a ' , ' c ' ]);
// => (object) ['a' => 1, 'c' => 3]
Crée un objet composé des propriétés object
predicate
renvoie la vérité. Le prédicat est invoqué avec deux arguments: (valeur, clé).
Arguments:
@param (objet | null) $ objet l'objet source.
@param callable $ prédicat la fonction invoquée par propriété.
Retour:
@return stdclass renvoie le nouvel objet.
Exemple:
<?php
use function _ pickBy ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' abc ' , ' c ' => 3 ];
pickBy (object, ' is_numeric ' );
// => (object) ['a' => 1, 'c' => 3]
Crée une instance de wrapper lodash
qui enveloppe value
avec des séquences de chaîne de méthodes explicites activées. Le résultat de ces séquences doit être déballé avec ->value()
.
Arguments:
@param mixée $ Valeur la valeur à envelopper.
Retour:
@return _ Renvoie la nouvelle instance de wrapper lodash
.
Exemple:
<?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'
Convertit string
en cas de chameau.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne Camel Based.
Exemple:
<?php
use function _ camelCase ;
camelCase ( ' Foo Bar ' )
// => 'fooBar'
camelCase ( ' --foo-bar-- ' )
// => 'fooBar'
camelCase ( ' __FOO_BAR__ ' )
// => 'fooBar'
Convertit le premier caractère de string
en majuscules et le reste en minuscules.
Arguments:
@param String $ String la chaîne à capitaliser.
Retour:
@return String renvoie la chaîne capitalisée.
Exemple:
<?php
use function _ capitalize ;
capitalize ( ' FRED ' )
// => 'Fred'
Deburrs string
en convertissant [Supplément latin-1] (https => // en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_Block)#Character_Table) et [Latin Extended-a] (https => // en.wikipedia. org / wiki / latin_extended-a) lettres aux lettres latines de base et enlever [combinant des marques diacritiques] (HTTPS => // en.wikipedia.org/wiki/combining_diacritical_marks).
Arguments:
@param String $ String la chaîne à déburr.
Retour:
@return String renvoie la chaîne déburrée.
Exemple:
<?php
use function _ deburr ;
deburr ( ' déjà vu ' )
// => 'deja vu'
Vérifie si string
se termine avec la chaîne cible donnée.
Arguments:
@param String $ String la chaîne à inspecter.
@param String $ cibler la chaîne à rechercher.
@param int $ positionnez la position à rechercher.
Retour:
@return booléen renvoie true
si string
se termine par target
, sinon false
.
Exemple:
<?php
use function _ endsWith ;
endsWith ( ' abc ' , ' c ' )
// => true
endsWith ( ' abc ' , ' b ' )
// => false
endsWith ( ' abc ' , ' b ' , 2 )
// => true
Convertit les caractères "&", "<", ">", '"' et" '"en string
en leurs entités HTML correspondantes.
Bien que le personnage ">" soit échappé pour une symétrie, des personnages comme ">" et "/" n'ont pas besoin d'échapper en HTML et n'ont aucune signification particulière à moins qu'ils ne font partie d'une balise ou d'une valeur d'attribut non coté. Voir l'article de Mathias Bynens (sous «Fait amusant semi-lié») pour plus de détails.
Lorsque vous travaillez avec HTML, vous devez toujours citer les valeurs d'attribut pour réduire les vecteurs XSS.
Arguments:
@param String $ String la chaîne pour s'échapper.
Retour:
@return String renvoie la chaîne échappée.
Exemple:
<?php
use function _ escape ;
escape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
Échappe aux caractères spéciaux RegExp
"^", "$", "", ".", "*", "+", "?", "(", ")", "[", "]", "{{ ","} "et" | " dans string
.
Arguments:
@param String $ String la chaîne pour s'échapper.
Retour:
@return String renvoie la chaîne échappée.
Exemple:
<?php
use function _ escapeRegExp ;
escapeRegExp ( ' [lodash](https://lodash.com/) ' )
// => '[lodash](https://lodash.com/)'
Convertit string
en cas de kebab.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne en boîtier de kebab.
Exemple:
<?php
use function _ kebabCase ;
kebabCase ( ' Foo Bar ' )
// => 'foo-bar'
kebabCase ( ' fooBar ' )
// => 'foo-bar'
kebabCase ( ' __FOO_BAR__ ' )
// => 'foo-bar'
Convertit string
, comme des mots séparés dans l'espace, en minuscules.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne en tube inférieure.
Exemple:
<?php
use function _ lowerCase ;
lowerCase ( ' --Foo-Bar-- ' )
// => 'foo bar'
lowerCase ( ' fooBar ' )
// => 'foo bar'
lowerCase ( ' __FOO_BAR__ ' )
// => 'foo bar'
Convertit le premier caractère de string
en minuscules.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne convertie.
Exemple:
<?php
use function _ lowerFirst ;
lowerFirst ( ' Fred ' )
// => 'fred'
lowerFirst ( ' FRED ' )
// => 'fRED'
PADS string
sur les côtés gauche et droit s'il est plus court que length
. Les caractères de rembourrage sont tronqués s'ils ne peuvent pas être uniformément divisés par length
.
Arguments:
@param String $ String la chaîne à pad.
@param int $ longueur la longueur de rembourrage.
@param String $ Chars La chaîne utilisée comme rembourrage.
Retour:
@return String renvoie la chaîne rembourrée.
Exemple:
<?php
use function _ pad ;
pad ( ' abc ' , 8 )
// => ' abc '
pad ( ' abc ' , 8 , ' _- ' )
// => '_-abc_-_'
pad ( ' abc ' , 2 )
// => 'abc'
PADS string
sur le côté droit s'il est plus court que length
. Les caractères de rembourrage sont tronqués s'ils dépassent length
.
Arguments:
@param String $ String la chaîne à pad.
@param int $ longueur la longueur de rembourrage.
@param String $ Chars La chaîne utilisée comme rembourrage.
Retour:
@return String renvoie la chaîne rembourrée.
Exemple:
<?php
use function _ padEnd ;
padEnd ( ' abc ' , 6 )
// => 'abc '
padEnd ( ' abc ' , 6 , ' _- ' )
// => 'abc_-_'
padEnd ( ' abc ' , 2 )
// => 'abc'
PADS string
sur le côté gauche s'il est plus court que length
. Les caractères de rembourrage sont tronqués s'ils dépassent length
.
S Arguments:
@param string $ string = '' La chaîne à pad.
@param int $ longueur la longueur de rembourrage.
@param String $ Chars La chaîne utilisée comme rembourrage.
Retour:
@return String renvoie la chaîne rembourrée.
Exemple:
<?php
use function _ padStart ;
padStart ( ' abc ' , 6 )
// => ' abc'
padStart ( ' abc ' , 6 , ' _- ' )
// => '_-_abc'
padStart ( ' abc ' , 2 )
// => 'abc'
Convertit string
en un entier du radix spécifié. Si radix
undefined
ou 0
, un radix
de 10
est utilisé à moins que string
soit un hexadécimal, auquel cas un radix
de 16
est utilisé.
Remarque: Cette méthode utilise le casting entier intégré de PHP, qui ne correspond pas nécessairement à l'implémentation ES5 de parseInt
.
Arguments:
@param (int | float | string) $ string la chaîne à convertir.
@param int $ radix le radix pour interpréter string
par.
Retour:
@return int renvoie l'entier converti.
Exemple:
<?php
use function _ parseInt ;
parseInt ( ' 08 ' )
// => 8
Répète la chaîne donnée n
fois.
Arguments:
@param String $ String la chaîne à répéter.
@param int $ n le nombre de fois pour répéter la chaîne.
Retour:
@return String renvoie la chaîne répétée.
Exemple:
<?php
use function _ repeat ;
repeat ( ' * ' , 3 )
// => '***'
repeat ( ' abc ' , 2 )
// => 'abcabc'
repeat ( ' abc ' , 0 )
// => ''
Remplace les correspondances du pattern
en string
par replacement
.
Remarque: Cette méthode est basée sur String#replace
.
Arguments:
@param String $ String la chaîne à modifier.
@param String $ motif le modèle à remplacer.
@param (callable | string) $ Remplacement du remplacement du match.
Retour:
@return String renvoie la chaîne modifiée.
Exemple:
<?php
use function _ replace ;
replace ( ' Hi Fred ' , ' Fred ' , ' Barney ' )
// => 'Hi Barney'
Convertit string
en cas de serpent.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String Renvoie la chaîne en tube de serpent.
Exemple:
<?php
use function _ snakeCase ;
snakeCase ( ' Foo Bar ' )
// => 'foo_bar'
snakeCase ( ' fooBar ' )
// => 'foo_bar'
snakeCase ( ' --FOO-BAR-- ' )
// => 'foo_bar'
Divise string
par separator
.
Remarque: cette méthode est basée sur String#split
.
Arguments:
@param String $ String la chaîne à diviser.
@param String $ séparateur Le modèle de séparateur à séparer.
@param int $ limiter la longueur aux résultats tronqués à.
Retour:
@return Array Renvoie les segments de chaîne.
Exemple:
<?php
use function _ split ;
split ( ' a-b-c ' , ' - ' , 2 )
// => ['a', 'b']
Convertit string
en cas de démarrage.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne de démarrage en cas de tube.
Exemple:
<?php
use function _ startCase ;
startCase ( ' --foo-bar-- ' )
// => 'Foo Bar'
startCase ( ' fooBar ' )
// => 'Foo Bar'
startCase ( ' __FOO_BAR__ ' )
// => 'FOO BAR'
Vérifie si string
démarre avec la chaîne cible donnée.
Arguments:
@param String $ String la chaîne à inspecter.
@param String $ cibler la chaîne à rechercher.
@param int $ positionnez la position pour rechercher.
Retour:
@return booléen renvoie true
si string
commence par target
, sinon false
.
Exemple:
<?php
use function _ startsWith ;
startsWith ( ' abc ' , ' a ' )
// => true
startsWith ( ' abc ' , ' b ' )
// => false
startsWith ( ' abc ' , ' b ' , 1 )
// => true
Crée une fonction de modèle compilée qui peut interpoler les propriétés de données dans les délimiteurs "Interpoler", les propriétés de données interpolées HTML-Escape dans les délimiteurs "Escape" et exécuter PHP dans les délimiteurs "évaluer". Les propriétés de données sont accessibles en tant que variables libres dans le modèle. Si un objet de réglage est donné, il a priorité sur les valeurs $templateSettings
.
Regexp $ Options ['Escape'] = _ :: $ TemplatesEttings ['Escape'] Le délimiteur HTML "Escape". Options regexp $ ['évaluer'] = _ :: $ TemplateSettings ['évaluer'] le délimiteur "évaluer". Array $ Options ['importations'] = _ :: $ Templatesettings ['importations'] Un objet à importer dans le modèle sous forme de variables gratuites. Regexp $ Options ['Interpolate'] = _ :: $ templateSettings ['Interpolate'] le délimiteur "Interpolate".
Arguments:
@param String $ String La chaîne de modèle.
@param array $ options le tableau des options.
Retour:
@return callable renvoie la fonction de modèle compilée.
Exemple:
<?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 ;
Convertit string
, dans son ensemble, en minuscules
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne en tube inférieure.
Exemple:
<?php
use function _ toLower ;
toLower ( ' --Foo-Bar-- ' )
// => '--foo-bar--'
toLower ( ' fooBar ' )
// => 'foobar'
toLower ( ' __FOO_BAR__ ' )
// => '__foo_bar__'
Convertit string
, dans son ensemble, en majuscules
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne en tube supérieur.
Exemple:
<?php
use function _ toUpper ;
toUpper ( ' --foo-bar-- ' )
// => '--FOO-BAR--'
toUpper ( ' fooBar ' )
// => 'FOOBAR'
toUpper ( ' __foo_bar__ ' )
// => '__FOO_BAR__'
Supprime les caractères blancs d'origine et de traîne ou les caractères spécifiés de string
.
Arguments:
@param String $ String la chaîne à couper.
@param string $ chars les caractères à couper.
Retour:
@return String Renvoie la chaîne coupée.
Exemple:
<?php
use function _ trim ;
trim ( ' abc ' )
// => 'abc'
trim ( ' -_-abc-_- ' , ' _- ' )
// => 'abc'
Supprime les caractères blancs d'espace ou les caractères spécifiés de string
.
Arguments:
@param String $ String la chaîne à couper.
@param string $ chars les caractères à couper.
Retour:
@return String Renvoie la chaîne coupée.
Exemple:
<?php
use function _ trimEnd ;
trimEnd ( ' abc ' )
// => ' abc'
trimEnd ( ' -_-abc-_- ' , ' _- ' )
// => '-_-abc'
Supprime le premier espace ou les caractères spécifiés de string
.
Arguments:
@param String $ String la chaîne à couper.
@param string $ chars les caractères à couper.
Retour:
@return String Renvoie la chaîne coupée.
Exemple:
<?php
use function _ trimStart ;
trimStart ( ' abc ' )
// => 'abc '
trimStart ( ' -_-abc-_- ' , ' _- ' )
// => 'abc-_-'
Tronque string
si elle est plus longue que la longueur de chaîne maximale donnée. Les derniers caractères de la chaîne tronquée sont remplacés par la chaîne d'omission qui par défaut "...".
longueur = 30 la longueur de chaîne maximale. omission = '...' La chaîne pour indiquer le texte est omise. séparateur le modèle de séparateur pour tronquer.
Arguments:
@param String $ String la chaîne à tronquer.
@param array $ options l'objet Options.
Retour:
@return String renvoie la chaîne tronquée.
Exemple:
<?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 [...]'
L'inverse de escape
Cette méthode convertit les entités HTML &
, <
, >
, "
et '
en string
à leurs caractères correspondants.
Arguments:
@param String $ String la chaîne à un écape.
Retour:
@return String renvoie la chaîne non basse.
Exemple:
<?php
use function _ unescape ;
unescape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
Convertit string
, comme des mots séparés dans l'espace, en majuscules.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne du boîtier supérieur.s
Exemple:
<?php
use function _ upperCase ;
upperCase ( ' --foo-bar ' )
// => 'FOO BAR'
upperCase ( ' fooBar ' )
// => 'FOO BAR'
upperCase ( ' __foo_bar__ ' )
// => 'FOO BAR'
Convertit le premier caractère de string
en majuscules.
Arguments:
@param String $ String la chaîne à convertir.
Retour:
@return String renvoie la chaîne convertie.
Exemple:
<?php
use function _ upperFirst ;
upperFirst ( ' fred ' )
// => 'Fred'
upperFirst ( ' FRED ' )
// => 'FRED'
Divise string
dans un tableau de ses mots.
Arguments:
@param String $ String la chaîne à inspecter.
@param string $ motif le modèle pour correspondre aux mots.
Retour:
@return Array Renvoie les mots de string
.
Exemple:
<?php
use function _ words ;
words ( ' fred, barney, & pebbles ' )
// => ['fred', 'barney', 'pebbles']
words ( ' fred, barney, & pebbles ' , ' /[^, ]+/g ' )
// => ['fred', 'barney', '&', 'pebbles']
Tente d'invoquer func
, de retourner le résultat ou l'objet d'erreur capturé. Tout argument supplémentaire est fourni à func
lorsqu'il est invoqué.
S Arguments:
@param callable $ func la fonction à tenter.
@param array <int, mixtes> $ args les arguments pour invoquer func
.
Retour:
@return (mixtes | throwable) Renvoie le résultat func
ou l'objet d'erreur.
Exemple:
<?php
use function _ attempt ;
// Avoid throwing errors for invalid PDO data source.
$ elements = attempt ( function () {
new PDO ( null );
});
if ( isError ( $ elements )) {
$ elements = [];
}
Vérifie la valeur pour déterminer si une valeur par défaut doit être renvoyée à sa place. La valeur defaultValue est renvoyée si la valeur est nan ou nul.
Arguments:
@param mixtes $ valeur toute valeur.
@param mixée $ defaultValue Valeur à retourner lorsque la valeur $ est nul ou nan
Retour:
@return mixtes renvoie value
.
Exemple:
<?php
use function _ defaultTo ;
$ a = null ;
defaultTo ( $ a , " default " );
// => "default"
$ a = " x " ;
defaultTo ( $ a , " default " );
// => "x"
Cette méthode renvoie le premier argument qu'il reçoit.
Arguments:
@param mixtes $ valeur toute valeur.
Retour:
@return mixtes renvoie value
.
Exemple:
<?php
use function _ identity ;
$ object = [ ' a ' => 1 ];
identity ( $ object ) === $ object ;
// => true
Crée une fonction qui renvoie la valeur au path
d'un objet donné.
Arguments:
@param (Array | String) $ chemin le chemin de la propriété à obtenir.
Retour:
@return callable renvoie la nouvelle fonction accessoire.
Exemple:
<?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]