Lodash-PHP는 Lodash JS 라이브러리를 PHP로 포트한 것입니다. 일상적인 PHP 프로젝트에 사용하기 쉬운 유틸리티 함수 세트입니다.
Lodash-PHP는 lodash.js를 최대한 비슷하게 모방하려고 합니다.
Lodash-PHP에는 최소 PHP 7.2 이상이 필요하지만 항상 최신 버전의 PHP를 권장합니다.
작곡가를 통해 Lodash-PHP를 설치하십시오.
$ composer require lodash-php/lodash-php
Lodash-PHP의 각 메소드는 자체적으로 가져오고 사용할 수 있는 별도의 기능입니다.
<?php
use function _ each ;
each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
Lodash-PHP에는 전 세계적으로 사용할 수 있는 global _
클래스도 함께 제공됩니다.
<?php
_:: each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
size
길이의 그룹으로 분할된 요소 배열을 만듭니다. array
균등하게 분할할 수 없는 경우 최종 청크는 나머지 요소가 됩니다.
인수:
@param array $array array 처리할 배열입니다.
@param int $number [size=1] 각 청크의 길이
반품:
@return array 새로운 청크 배열을 반환합니다.
예:
<?php
use function _ chunk ;
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 2 )
// => [['a', 'b'], ['c', 'd']]
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 3 )
// => [['a', 'b', 'c'], ['d']]
모든 잘못된 값이 제거된 배열을 만듭니다. false
, null
, 0
, ""
, undefined
및 NaN
값은 거짓입니다.
인수:
@param array $array 압축할 배열입니다.
반품:
@return array 필터링된 값의 새 배열을 반환합니다.
예:
<?php
use function _ compact ;
compact ([ 0 , 1 , false , 2 , '' , 3 ])
// => [1, 2, 3]
추가 배열 및/또는 값을 사용하여 array
연결하는 새 배열을 만듭니다.
인수:
@param array $array 연결할 배열입니다.
@param array<int, Mixed> $values 연결할 값입니다.
반품:
@return array 연결된 새로운 배열을 반환합니다.
예:
<?php
use function _ concat ;
$ array = [ 1 ];
$ other = concat ( $ array , 2 , [ 3 ], [[ 4 ]]);
var_dump ( $ other )
// => [1, 2, 3, [4]]
var_dump ( $ array )
// => [1]
같음 비교를 위해 SameValueZero
사용하여 지정된 다른 배열에 포함되지 않은 array
값의 배열을 만듭니다. 결과 값의 순서와 참조는 첫 번째 배열에 의해 결정됩니다.
참고: pullAll
과 달리 이 메서드는 새 배열을 반환합니다.
인수:
@param array $array 검사할 배열입니다.
@param array ...$values 제외할 값입니다.
반품:
@return array 필터링된 값의 새 배열을 반환합니다.
예:
<?php
use function _ difference ;
difference ([ 2 , 1 ], [ 2 , 3 ])
// => [1]
이 방법은 비교 기준을 생성하기 위해 array
의 각 요소와 values
에 대해 호출되는 iteratee
허용한다는 점을 제외하면 difference
과 같습니다. 결과 값의 순서와 참조는 첫 번째 배열에 의해 결정됩니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
참고: pullAllBy
와 달리 이 메서드는 새 배열을 반환합니다.
인수:
@param array $array 검사할 배열입니다.
@param array<int, Mixed> ...$values 제외할 값입니다.
@param callable $iteratee 요소별로 호출되는 반복 대상입니다.
반품:
@return array 필터링된 값의 새 배열을 반환합니다.
예:
<?php
use function _ differenceBy ;
differenceBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], ' floor ' )
// => [1.2]
이 메소드는 array
의 요소를 values
과 비교하기 위해 호출되는 comparator
허용한다는 점을 제외하면 difference
과 같습니다. 결과 값의 순서와 참조는 첫 번째 배열에 의해 결정됩니다. 비교기는 두 개의 인수(arrVal, othVal)를 사용하여 호출됩니다.
참고: pullAllWith
와 달리 이 메서드는 새 배열을 반환합니다.
인수:
@param array<int, Mixed> $array 검사할 배열입니다.
@param array ...$values 제외할 값입니다.
@param callable $comparator 요소별로 호출되는 비교기입니다.
반품:
@return array 필터링된 값의 새 배열을 반환합니다.
예:
<?php
use function _ differenceWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
differenceWith ( $ objects , [[ ' x ' => 1 , ' y ' => 2 ]], ' _::isEqual ' )
// => [[ 'x' => 2, 'y' => 1 ]]
처음부터 n
개의 요소가 삭제된 array
조각을 만듭니다.
참고: 이 기능은 배열 인덱스를 재정렬하고 재설정합니다.
인수:
@param array $array 쿼리할 배열입니다.
@param int $n 삭제할 요소 수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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]
끝에서 n
개의 요소가 삭제된 array
조각을 만듭니다. 참고: 이 기능은 배열 인덱스를 재정렬하고 재설정합니다.
인수:
@param array $array 쿼리할 배열입니다.
@param int $n 삭제할 요소 수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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]
끝에서 삭제된 요소를 제외하고 array
조각을 만듭니다. predicate
거짓을 반환할 때까지 요소가 삭제됩니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
인수:
@param array $array 쿼리할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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']
처음부터 삭제된 요소를 제외하고 array
조각을 만듭니다. predicate
거짓을 반환할 때까지 요소가 삭제됩니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
인수:
@param array $array 쿼리할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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']
predicate
array
의 모든 요소에 대해 진실을 반환하는지 확인합니다. 조건 predicate
거짓을 반환하면 반복이 중지됩니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
참고: 이 메서드는 빈 배열의 요소에 대해 모든 것이 true이기 때문에 빈 배열에 대해 true
반환합니다.
인수:
@param iterable $collection 반복할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return bool 모든 요소가 조건자 검사를 통과하면 true
, 그렇지 않으면 false
.
예:
<?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
이 메소드는 요소 자체 대신에 첫 번째 요소 술어의 인덱스를 반환한다는 점을 제외하면 find
와 같습니다.
인수:
@param array $array 검사할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
@param int $fromIndex 검색할 인덱스입니다.
반품:
@return int는 발견된 요소의 인덱스이고, 그렇지 않으면 -1
.
예:
<?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
이 메소드는 오른쪽에서 왼쪽으로 collection
요소를 반복한다는 점을 제외하면 findIndex
와 같습니다.
인수:
@param array $array 검사할 배열입니다.
@param 혼합 $predicate 반복마다 호출되는 함수입니다.
@param int $fromIndex 검색할 인덱스입니다.
반품:
@return int는 발견된 요소의 인덱스이고, 그렇지 않으면 -1
.
예:
<?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
단일 수준 깊이로 array
평면화합니다.
인수:
@param array $array 병합할 배열입니다.
반품:
@return array 새로운 평면화된 배열입니다.
예:
<?php
use function _ flatten ;
flatten ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]])
// => [1, 2, [3, [4]], 5]
array
재귀적으로 평면화합니다.
인수:
@param array $array 병합할 배열입니다.
반품:
@return array 새로운 평면화된 배열을 반환합니다.
예:
<?php
use function _ flattenDeep ;
flattenDeep ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]);
// => [1, 2, 3, 4, 5]
depth
시간까지 array
재귀적으로 평면화합니다.
인수:
@param array $array 병합할 배열입니다.
@param int $length 최대 재귀 깊이입니다.
반품:
@return 배열은 새로운 평면화된 배열입니다.
예:
<?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]
toPairs
의 반대인 이 메소드는 키-값 pairs
으로 구성된 객체를 반환합니다.
인수:
@param array $pairs 키-값 쌍입니다.
반품:
@return stdClass 새 객체.
예:
<?php
use function _ fromPairs ;
fromPairs ([[ ' a ' , 1 ], [ ' b ' , 2 ]])
// => stdClass(
// 'a' => 1,
//'b' => 2,
// )
array
의 첫 번째 요소를 가져옵니다.
인수:
@param array $array 쿼리할 배열입니다.
반품:
@return 혼합 array
의 첫 번째 요소를 반환합니다.
예:
<?php
use function _ head ;
head ([ 1 , 2 , 3 ])
// => 1
head ([])
// => null
같음 비교를 위해 SameValueZero
사용하여 array
에서 value
이 처음 나타나는 인덱스를 가져옵니다. fromIndex
가 음수이면 array
끝에서부터의 오프셋으로 사용됩니다.
인수:
@param array $array 검사할 배열입니다.
@param 혼합 $value 검색할 값입니다.
@param int $fromIndex 검색할 인덱스입니다.
반품:
@return int는 일치하는 값의 인덱스이고, 그렇지 않으면 -1
입니다.
예:
<?php
use function _ indexOf ;
indexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 1
// Search from the `fromIndex`.
indexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 3
array
의 마지막 요소를 제외한 모든 요소를 가져옵니다.
인수:
@param array $array 쿼리할 배열입니다.
반품:
@return array array
의 조각입니다.
예:
<?php
use function _ initial ;
initial ([ 1 , 2 , 3 ])
// => [1, 2]
같음 비교를 위해 SameValueZero
사용하여 지정된 모든 배열에 포함된 고유 값의 배열을 만듭니다. 결과 값의 순서와 참조는 첫 번째 배열에 의해 결정됩니다.
인수:
@param 배열 ...$배열
반품:
@return array 교차하는 값의 새로운 배열입니다.
예:
<?php
use function _ intersection ;
intersection ([ 2 , 1 ], [ 2 , 3 ])
// => [2]
이 방법은 비교 기준을 생성하기 위해 각 arrays
의 각 요소에 대해 호출되는 iteratee
허용한다는 점을 제외하면 intersection
와 유사합니다. 결과 값의 순서와 참조는 첫 번째 배열에 의해 결정됩니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
인수:
@param 배열<int, 혼합> ...$배열
@param callable $iteratee 요소별로 호출되는 반복 대상입니다.
반품:
@return array 교차하는 값의 새로운 배열입니다.
예:
<?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 ]]
이 메소드는 arrays
의 요소를 비교하기 위해 호출되는 comparator
허용한다는 점을 제외하면 intersection
와 유사합니다. 결과 값의 순서와 참조는 첫 번째 배열에 의해 결정됩니다. 비교기는 두 개의 인수(arrVal, othVal)를 사용하여 호출됩니다.
인수:
@param 배열 ...$배열
@param callable $comparator 요소별로 호출되는 비교기입니다.
반품:
@return array 교차하는 값의 새로운 배열입니다.
예:
<?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 ]]
array
의 마지막 요소를 가져옵니다.
인수:
@param array $array 쿼리할 배열입니다.
반품:
@return 혼합 array
의 마지막 요소를 반환합니다.
예:
<?php
use function _ last ;
last ([ 1 , 2 , 3 ])
// => 3
이 메서드는 오른쪽에서 왼쪽으로 array
요소를 반복한다는 점을 제외하면 indexOf
와 같습니다.
인수:
@param array $array 검사할 배열입니다.
@param 혼합 $value 검색할 값입니다.
@param int $fromIndex 검색할 인덱스입니다.
반품:
@return int는 일치하는 값의 인덱스이고, 그렇지 않으면 -1
입니다.
예:
<?php
use function _ lastIndexOf ;
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 3
// Search from the `fromIndex`.
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 1
array
의 인덱스 n
에 있는 요소를 가져옵니다. n
이 음수이면 끝에서 n번째 요소가 반환됩니다.
인수:
@param array $array 쿼리할 배열입니다.
@param int $n 반환할 요소의 인덱스입니다.
반품:
@return 혼합 array
의 n번째 요소를 반환합니다.
예:
<?php
use function _ nth ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
nth ( $ array , 1 )
// => 'b'
nth ( $ array , - 2 )
// => 'c'
같음 비교를 위해 SameValueZero
사용하여 array
에서 지정된 모든 값을 제거합니다.
참고: without
와 달리 이 메서드는 array
변경합니다. 술어로 배열에서 요소를 제거하려면 remove
사용하십시오.
인수:
@param array $array 수정할 배열입니다.
@param array<int, string> $values 제거할 값입니다.
반품:
@return 배열
예:
<?php
use function _ pull ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pull ( $ array , ' a ' , ' c ' )
var_dump ( $ array )
// => ['b', 'b']
이 방법은 제거할 값의 배열을 허용한다는 점을 제외하면 pull
와 유사합니다.
참고: difference
와 달리 이 메서드는 array
변경합니다.
인수:
@param array $array 수정할 배열입니다.
@param array $values 제거할 값입니다.
반품:
@return 배열 array
.
예:
<?php
use function _ pullAll ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pullAll ( $ array , [ ' a ' , ' c ' ])
var_dump ( $ array )
// => ['b', 'b']
이 메소드는 비교 기준을 생성하기 위해 array
및 values
의 각 요소에 대해 호출되는 iteratee
허용한다는 점을 제외하면 pullAll
과 같습니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
참고: differenceBy
와 달리 이 메서드는 array
변경합니다.
인수:
@param array $array 수정할 배열입니다.
@param array $values 제거할 값입니다.
@param callable $iteratee 요소별로 호출되는 반복 대상입니다.
반품:
@return 배열 array
.
예:
<?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 ]]
이 메소드는 array
의 요소를 values
과 비교하기 위해 호출되는 comparator
허용한다는 점을 제외하면 pullAll
과 같습니다. 비교기는 두 개의 인수(arrVal, othVal)를 사용하여 호출됩니다.
참고: differenceWith
와 달리 이 메서드는 array
변경합니다.
인수:
@param array $array 수정할 배열입니다.
@param array $values 제거할 값입니다.
@param callable $comparator 요소별로 호출되는 비교기입니다.
반품:
@return 배열 array
.
예:
<?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 ]]
indexes
에 해당하는 array
에서 요소를 제거하고 제거된 요소의 배열을 반환합니다.
참고: at
달리 이 메서드는 array
변경합니다.
인수:
@param array $array 수정할 배열입니다.
@param (int | int[]) $indexes 제거할 요소의 인덱스입니다.
반품:
@return array 제거된 요소의 새 배열입니다.
예:
<?php
use function _ pullAt ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
$ pulled = pullAt ( $ array , [ 1 , 3 ])
var_dump ( $ array )
// => ['a', 'c']
var_dump ( $ pulled )
// => ['b', 'd']
predicate
진실을 반환하는 array
에서 모든 요소를 제거하고 제거된 요소의 배열을 반환합니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
참고: filter
와 달리 이 메서드는 array
변경합니다. 값을 기준으로 배열의 요소를 가져오려면 pull
사용하세요.
인수:
@param array $array 수정할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array 제거된 요소의 새 배열입니다.
예:
<?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]
array
에서 임의의 요소를 가져옵니다.
인수:
@param array $array 샘플링할 배열입니다.
반품:
@return 혼합 무작위 요소를 반환합니다.
예:
<?php
use function _ sample ;
sample ([ 1 , 2 , 3 , 4 ])
// => 2
array
에서 array
크기까지 고유 키에서 n
무작위 요소를 가져옵니다.
인수:
@param array $array 샘플링할 배열입니다.
@param int $n 샘플링할 요소 수입니다.
반품:
@return 임의의 요소를 배열합니다.
예:
<?php
use function _ sampleSize ;
sampleSize ([ 1 , 2 , 3 ], 2 )
// => [3, 1]
sampleSize ([ 1 , 2 , 3 ], 4 )
// => [2, 3, 1]
섞인 값의 배열을 만듭니다.
인수:
@param array $array 섞을 배열입니다.
반품:
@return 배열은 새로 섞인 배열입니다.
예:
<?php
use function _ shuffle ;
shuffle ([ 1 , 2 , 3 , 4 ])
// => [4, 1, 3, 2]
start
부터 end
(포함하지 않음) array
조각을 만듭니다.
인수:
@param array $array 슬라이스할 배열입니다.
@param int $start 시작 위치입니다.
@param int $end 끝 위치입니다.
반품:
@return array array
의 조각입니다.
array
의 첫 번째 요소를 제외한 모든 요소를 가져옵니다.
인수:
@param array $array 쿼리할 배열입니다.
반품:
@return array array
의 조각입니다.
예:
<?php
use function _ tail ;
tail ([ 1 , 2 , 3 ])
// => [2, 3]
처음부터 n
개의 요소를 가져온 array
조각을 만듭니다.
인수:
@param array $array 쿼리할 배열입니다.
@param int $n 가져올 요소 수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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 )
// => []
끝에서 가져온 n
개의 요소로 array
조각을 만듭니다.
인수:
@param array $array 쿼리할 배열입니다.
@param int $n 가져올 요소 수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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 )
// => []
끝에서 가져온 요소로 array
조각을 만듭니다. predicate
거짓을 반환할 때까지 요소가 사용됩니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
인수:
@param array $array 쿼리할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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']
처음부터 가져온 요소로 array
조각을 만듭니다. predicate
거짓을 반환할 때까지 요소가 사용됩니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
인수:
@param array $array 쿼리할 배열입니다.
@param 혼합 $predicate 반복마다 호출되는 함수입니다.
반품:
@return array array
의 조각입니다.
예:
<?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']
같음 비교를 위해 SameValueZero
사용하여 지정된 모든 배열에서 순서대로 고유한 값의 배열을 만듭니다.
인수:
@param array ...$arrays 검사할 배열입니다.
반품:
@return array 결합된 값의 새로운 배열입니다.
예:
<?php
use function _ union ;
union ([ 2 ], [ 1 , 2 ])
// => [2, 1]
이 메소드는 고유성을 계산하는 기준을 생성하기 위해 각 arrays
의 각 요소에 대해 호출되는 iteratee
허용한다는 점을 제외하면 union
과 같습니다. 결과 값은 값이 발생하는 첫 번째 배열에서 선택됩니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
인수:
@param array<int, Mixed> ...$arrays 검사할 배열입니다.
@param callable $iteratee 요소별로 호출되는 반복 대상입니다.
반품:
@return array 결합된 값의 새로운 배열입니다.
예:
<?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]]
이 메소드는 arrays
의 요소를 비교하기 위해 호출되는 comparator
허용한다는 점을 제외하면 union
와 같습니다. 결과 값은 값이 발생하는 첫 번째 배열에서 선택됩니다. 비교기는 두 개의 인수(arrVal, othVal)를 사용하여 호출됩니다.
인수:
@param array<int, Mixed> ...$arrays 검사할 배열입니다.
@param callable $comparator 요소별로 호출되는 비교기입니다.
반품:
@return array 결합된 값의 새로운 배열입니다.
예:
<?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]]
같음 비교를 위해 SameValueZero
사용하여 각 요소의 첫 번째 항목만 유지되는 중복 없는 버전의 배열을 만듭니다. 결과 값의 순서는 배열에서 발생하는 순서에 따라 결정됩니다.
인수:
@param array $array 검사할 배열입니다.
반품:
@return array 새로운 중복 없는 배열을 반환합니다.
예:
<?php
use function _ uniq ;
uniq ([ 2 , 1 , 2 ])
// => [2, 1]s
이 메소드는 고유성을 계산하는 기준을 생성하기 위해 array
의 각 요소에 대해 호출되는 iteratee
허용한다는 점을 제외하면 uniq
와 같습니다. 결과 값의 순서는 배열에서 발생하는 순서에 따라 결정됩니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
인수:
@param array $array 검사할 배열입니다.
@param Mixed $iteratee 요소별로 호출되는 반복 대상입니다.
반품:
@return array 새로운 중복 없는 배열을 반환합니다.
예:
<?php
use function _ uniqBy ;
uniqBy ([ 2.1 , 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
이 메소드는 array
의 요소를 비교하기 위해 호출되는 comparator
허용한다는 점을 제외하면 uniq
와 같습니다. 결과 값의 순서는 배열에서 발생하는 순서에 따라 결정됩니다. 비교기는 두 개의 인수(arrVal, othVal)를 사용하여 호출됩니다.
인수:
@param array $array 검사할 배열입니다.
@param callable $comparator 요소별로 호출되는 비교기입니다.
반품:
@return array 새로운 중복 없는 배열을 반환합니다.
예:
<?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]]
이 방법은 그룹화된 요소의 배열을 허용하고 요소를 zip 이전 구성으로 재그룹화하는 배열을 생성한다는 점을 제외하면 zip
과 같습니다.
인수:
@param array $array 처리할 그룹화된 요소의 배열입니다.
반품:
@return array 재그룹화된 요소의 새 배열입니다.
예:
<?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]]
이 방법은 재그룹화된 값을 결합하는 방법을 지정하기 위해 iteratee
허용한다는 점을 제외하면 unzip
과 같습니다. 반복 대상은 각 그룹(...group)의 요소로 호출됩니다.
인수:
@param array $array 처리할 그룹화된 요소의 배열입니다.
@param (호출 가능 | null) $iteratee 재그룹화된 값을 결합하는 함수입니다.
반품:
@return array 재그룹화된 요소의 새 배열입니다.
예:
<?php
use function _ unzipWith ;
$ zipped = zip ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ])
// => [[1, 10, 100], [2, 20, 200]]
unzipWith (zipped, ' _::add ' )
// => [3, 30, 300]
같음 비교를 위해 SameValueZero
사용하여 지정된 모든 값을 제외하는 배열을 만듭니다.
참고: pull
달리 이 메서드는 새 배열을 반환합니다.
인수:
@param array $array 검사할 배열입니다.
@param array<int,mixed> $values 제외할 값입니다.
반품:
@return array 필터링된 값의 새 배열입니다.
예:
<?php
use function _ without ;
without ([ 2 , 1 , 2 , 3 ], 1 , 2 )
// => [3]
그룹화된 요소의 배열을 생성합니다. 첫 번째 요소에는 지정된 배열의 첫 번째 요소가 포함되고, 두 번째 요소에는 지정된 배열의 두 번째 요소가 포함되는 식입니다.
인수:
@param array ...$arrays 처리할 배열입니다.
반품:
@return array 그룹화된 요소의 새로운 배열입니다.
예:
<?php
use function _ zip ;
zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
이 메소드는 두 개의 배열, 즉 속성 식별자 중 하나와 해당 값 중 하나를 허용한다는 점을 제외하면 fromPairs
와 같습니다.
인수:
@param array $props 속성 식별자입니다.
@param array $values 속성 값입니다.
반품:
@return 객체는 새로운 객체입니다.
예:
<?php
use function _ zipObject ;
zipObject ([ ' a ' , ' b ' ], [ 1 , 2 ])
/* => object(stdClass) #210 (2) {
[ " a " ] => int( 1 )
[ " b " ] => int( 2 )
}
*/
이 메서드는 속성 경로를 지원한다는 점을 제외하면 zipObject
와 같습니다.
인수:
@param array $props 속성 식별자입니다.
@param array $values 속성 값입니다.
반품:
@return stdClass 새 객체.
예:
<?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 )
}
}
}
}
*/
이 방법은 그룹화된 값을 결합하는 방법을 지정하기 위해 iteratee
허용한다는 점을 제외하면 zip
과 같습니다. 반복 대상은 각 그룹(...group)의 요소로 호출됩니다.
인수:
@param array<int, (array | callable)> ...$arrays 처리할 배열입니다.
@param callable $iteratee 그룹화된 값을 결합하는 함수입니다.
반품:
@return array 그룹화된 요소의 새로운 배열입니다.
예:
<?php
use function _ zipWith ;
zipWith ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ], function ( $ a , $ b , $ c ) { return $ a + $ b + $ c ; })
// => [111, 222]
iteratee
통해 collection
의 각 요소를 실행한 결과 생성된 키로 구성된 배열을 생성합니다. 각 키의 해당 값은 iteratee
에서 키를 반환한 횟수입니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $iteratee 키를 변환하는 반복 대상입니다.
반품:
@return array 구성된 집계 객체를 반환합니다.
예:
<?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]
collection
의 요소를 반복하고 각 요소에 대해 iteratee
호출합니다. 반복 대상은 세 가지 인수(값, 인덱스|키, 컬렉션)를 사용하여 호출됩니다. Iteratee 함수는 명시적으로 false
반환하여 반복을 조기에 종료할 수 있습니다.
참고: 다른 "컬렉션" 방법과 마찬가지로 "길이" 속성을 가진 객체는 배열처럼 반복됩니다. 이 동작을 방지하려면 객체 반복에 forIn
또는 forOwn
사용하세요.
인수:
@param (array | iterable | object) $collection 반복할 컬렉션입니다.
@param callable $iteratee 반복마다 호출되는 함수입니다.
반품:
@return (array | object) collection
반환합니다.
예:
<?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).
이 메서드는 오른쪽에서 왼쪽으로 collection
요소를 반복한다는 점을 제외하면 each
같습니다.
인수:
@param (array | iterable | object) $collection 반복할 컬렉션입니다.
@param callable $iteratee 반복마다 호출되는 함수입니다.
반품:
@return (array | object) collection
반환합니다.
예:
<?php
use function _ eachRight ;
eachRight ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `2` then `1`.
array
의 요소를 반복하여 모든 요소의 배열을 반환합니다. predicate
진실을 반환합니다. 조건자는 세 가지 인수(값, 인덱스, 배열)를 사용하여 호출됩니다.
참고: remove
와 달리 이 메서드는 새 배열을 반환합니다.
인수:
@param iterable $array 반복할 배열입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array 필터링된 새 배열입니다.
예:
<?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']
collection
의 요소를 반복하여 첫 번째 요소 predicate
반환하면 진실을 반환합니다. 조건자는 세 가지 인수(값, 인덱스|키, 컬렉션)를 사용하여 호출됩니다.
인수:
@param iterable $collection 검사할 컬렉션입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
@param int $fromIndex 검색할 인덱스입니다.
반품:
@return Mixed 일치하는 요소를 반환하고, 그렇지 않으면 null
반환합니다.
예:
<?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'
이 메소드는 collection
요소를 오른쪽에서 왼쪽으로 반복한다는 점을 제외하면 find
와 같습니다.
인수:
@param iterable $collection 검사할 컬렉션입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
@param int $fromIndex 검색할 인덱스입니다.
반품:
@return Mixed 일치하는 요소를 반환하고, 그렇지 않으면 undefined
.
예:
<?php
use function _ findLast ;
findLast ([ 1 , 2 , 3 , 4 ], function ( $ n ) { return $ n % 2 == 1 ; })
// => 3
iteratee
통해 collection
의 각 요소를 실행하고 매핑된 결과를 평면화하여 평면화된 값 배열을 만듭니다. 반복 대상은 세 가지 인수(값, 인덱스|키, 컬렉션)를 사용하여 호출됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $iteratee 반복마다 호출되는 함수입니다.
반품:
@return array 새로운 평면화된 배열입니다.
예:
<?php
use function _ flatMap ;
function duplicate ( $ n ) {
return [ $ n , $ n ]
}
flatMap ([ 1 , 2 ], ' duplicate ' )
// => [1, 1, 2, 2]
이 메서드는 매핑된 결과를 재귀적으로 평면화한다는 점을 제외하면 flatMap
과 같습니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $iteratee 반복마다 호출되는 함수입니다.
반품:
@return array 새로운 평면화된 배열을 반환합니다.
예:
<?php
use function _ flatMapDeep ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]];
}
flatMapDeep ([ 1 , 2 ], ' duplicate ' );
// => [1, 1, 2, 2]
이 메서드는 매핑된 결과를 depth
시간까지 반복적으로 평면화한다는 점을 제외하면 flatMap
과 같습니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $iteratee 반복마다 호출되는 함수입니다.
@param int $length 최대 재귀 깊이입니다.
반품:
@return array 새로운 평면화된 배열입니다.
예:
<?php
use function _ flatMapDepth ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]]
}
flatMapDepth ([ 1 , 2 ], ' duplicate ' , 2 )
// => [[1, 1], [2, 2]]
iteratee
통해 collection
의 각 요소를 실행한 결과 생성된 키로 구성된 배열을 생성합니다. 그룹화된 값의 순서는 collection
에서 발생하는 순서에 따라 결정됩니다. 각 키의 해당 값은 키 생성을 담당하는 요소의 배열입니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $iteratee 키를 변환하는 반복 대상입니다.
반품:
@return array 구성된 집계 객체를 반환합니다.
예:
<?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']]
collection
에 있는 각 요소의 path
에서 메서드를 호출하여 호출된 각 메서드의 결과 배열을 반환합니다. 호출된 각 메서드에 추가 인수가 제공됩니다. path
함수인 경우 collection
의 각 요소에 대해 호출되고 this
됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param (배열 | 호출 가능 | 문자열) $path 호출할 메서드 또는 반복마다 호출되는 함수의 경로입니다.
@param array $args 각 메소드를 호출하는 데 사용할 인수입니다.
반품:
@return array 결과 배열입니다.
예:
<?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']]
iteratee
통해 collection
의 각 요소를 실행한 결과 생성된 키로 구성된 객체를 생성합니다. 각 키의 해당 값은 키 생성을 담당하는 마지막 요소입니다. 반복 대상은 하나의 인수(값)로 호출됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $iteratee 키를 변환하는 반복 대상입니다.
반품:
@return 구성된 집계 개체를 배열합니다.
예:
<?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]]
iteratee
통해 collection
의 각 요소를 실행하여 값 배열을 만듭니다. 반복 대상은 세 가지 인수(값, 인덱스|키, 컬렉션)를 사용하여 호출됩니다.
많은 lodash-php 메소드는 _::every
, _::filter
, _::map
, _::mapValues
, _::reject
및 _::some
과 같은 메소드에 대한 반복으로 작동하도록 보호됩니다.
보호된 메서드는 다음과 같습니다: 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
및 words
인수:
@param (array | object) $collection 반복할 컬렉션입니다.
@param (호출 가능 | 문자열 | 배열) $iteratee 반복마다 호출되는 함수입니다.
반품:
@return array 새로 매핑된 배열을 반환합니다.
예:
<?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']
이 메소드는 정렬 기준이 되는 반복 항목의 정렬 순서를 지정할 수 있다는 점을 제외하면 sortBy
와 같습니다. orders
지정하지 않으면 모든 값이 오름차순으로 정렬됩니다. 그렇지 않으면 해당 값의 내림차순 정렬을 "desc"로 지정하거나 오름차순 정렬을 "asc"로 지정합니다.
인수:
@param (iterable | null) $collection 반복할 컬렉션입니다.
@param (array[] | callable[] | string[]) $iteratee 정렬할 반복 대상입니다.
@param string[] $orders iteratees
의 정렬 순서입니다.
반품:
@return array 새로 정렬된 배열입니다.
예:
<?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]]
두 그룹으로 분할된 요소 배열을 생성합니다. 첫 번째 그룹에는 predicate
가 true를 반환하는 요소가 포함되고, 두 번째 그룹에는 predicate
가 false를 반환하는 요소가 포함됩니다. 술어는 하나의 인수(값)로 호출됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array 그룹화된 요소의 배열입니다.
예:
<?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']]
iteratee
통해 collection
의 각 요소를 실행한 누적 결과인 값으로 collection
줄입니다. 여기서 각 연속 호출에는 이전 호출의 반환 값이 제공됩니다. accumulator
제공되지 않으면 collection
의 첫 번째 요소가 초기 값으로 사용됩니다. 반복 대상은 네 개의 인수(누산기, 값, 인덱스|키, 컬렉션)를 사용하여 호출됩니다.
많은 lodash 메소드는 reduce
, reduceRight
및 transform
과 같은 메소드에 대한 반복으로 작동하도록 보호됩니다.
보호된 메서드는 다음과 같습니다: assign
, defaults
, defaultsDeep
, includes
, merge
, orderBy
및 sortBy
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param Mixed $iteratee 반복마다 호출되는 함수입니다.
@param 혼합 $accumulator 초기 값입니다.
반품:
@return Mixed 누적된 값을 반환합니다.
예:
<?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)
이 메서드는 오른쪽에서 왼쪽으로 collection
요소를 반복한다는 점을 제외하면 reduce
와 같습니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param Mixed $iteratee 반복마다 호출되는 함수입니다.
@param 혼합 $accumulator 초기 값입니다.
반품:
@return Mixed 누적된 값을 반환합니다.
예:
<?php
use function _ reduceRight ;
$ array = [[ 0 , 1 ], [ 2 , 3 ], [ 4 , 5 ]];
reduceRight ( array , (flattened, other) => flattened. concat (other), [])
// => [4, 5, 2, 3, 0, 1]
filter
와 반대로 이 메서드는 predicate
진실을 반환 하지 않는 collection
요소를 반환합니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param callable $predicate 반복마다 호출되는 함수입니다.
반품:
@return array 필터링된 새 배열입니다.
예:
<?php
use function _ reject ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
]
reject ( $ users , ' active ' )
// => objects for ['fred']
배열 값의 길이 또는 개체의 공용 속성 수를 반환하여 collection
의 크기를 가져옵니다.
인수:
@param (배열 | 객체 | 문자열) $collection 검사할 컬렉션입니다.
반품:
@return int 컬렉션 크기를 반환합니다.
예:
<?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
predicate
collection
의 요소 에 대해 진실을 반환하는지 확인합니다. 조건 predicate
true를 반환하면 반복이 중지됩니다. 조건자는 세 가지 인수(값, 인덱스|키, 컬렉션)를 사용하여 호출됩니다.
인수:
@param iterable $collection 반복할 컬렉션입니다.
@param (호출 가능 | 문자열 | 배열) $predicate 반복마다 호출되는 함수입니다.
반품:
@return boolean 요소가 조건자 검사를 통과하면 true
반환하고, 그렇지 않으면 false
반환합니다.
예:
<?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
각 반복을 통해 컬렉션의 각 요소를 실행한 결과에 따라 오름차순으로 정렬된 요소 배열을 만듭니다. 이 방법은 안정적인 정렬을 수행합니다. 즉, 동일한 요소의 원래 정렬 순서를 유지합니다. 반복 대상은 하나의 인수(값)를 사용하여 호출됩니다.
인수:
@param (array | object | null) $collection 반복할 컬렉션입니다.
@param (callable | callable[]) $iteratees 정렬 기준이 되는 반복 항목입니다.
반품:
@return array 새로 정렬된 배열을 반환합니다.
예:
<?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]]
Unix 시대(1970년 1월 1일 00:00:00 UTC) 이후 경과된 밀리초 수의 타임스탬프를 가져옵니다.
인수:
반품:
@return int 타임스탬프를 반환합니다.
예:
<?php
use function _ now ;
now ();
// => 1511180325735
before
과 반대입니다. 이 메소드는 n
번 이상 호출되면 func
호출하는 함수를 생성합니다.
인수:
@param int $n func
호출되기 전 호출 횟수입니다.
@param Callable $func 제한할 함수입니다.
반품:
@return Callable 새로운 제한된 함수를 반환합니다.
예:
<?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.
추가 인수를 무시하고 최대 n
인수를 사용하여 func
호출하는 함수를 생성합니다.
인수:
@param callable $func 인수를 제한하는 함수입니다.
@param int $n 개수 제한입니다.
반품:
@return Callable 새로운 제한 함수를 반환합니다.
예:
<?php
use function _ ary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], ary ( ' intval ' , 1 ));
// => [6, 8, 10]
n
번 미만 호출되는 동안 생성된 함수의 인수를 사용하여 func
호출하는 함수를 생성합니다. 생성된 함수에 대한 후속 호출은 마지막 func
호출의 결과를 반환합니다.
인수:
@param int $n func
더 이상 호출되지 않는 호출 수입니다.
@param callable $func 제한할 함수입니다.
반품:
@return callable 새로운 제한된 함수를 반환합니다.
예:
<?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.
수신하는 인수 앞에 object
와 partials
의 this
을 추가하여 func
호출하는 함수를 만듭니다.
인수:
@param callable $function 바인딩할 함수입니다.
@param (객체 | 혼합) $object func
의 object
바인딩입니다.
@param array<int, Mixed> $partials 부분적으로 적용할 인수입니다.
반품:
@return callable 새로운 바인딩된 함수를 반환합니다.
예:
<?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!'
수신하는 인수 앞에 $partials
추가하여 $object
의 $function
메서드를 호출하는 함수를 만듭니다.
이 메소드는 바인딩된 함수가 재정의될 수 있거나 아직 존재하지 않는 메소드를 참조할 수 있도록 허용한다는 점에서 bind
와 다릅니다.
인수:
@param object $object 메서드를 호출할 개체입니다.
@param string $function 메서드의 이름입니다.
@param array<int, Mixed> $partials 부분적으로 적용할 인수입니다.
반품:
@return callable 새로운 바인딩된 함수를 반환합니다.
예:
<?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!'
func
의 인수를 허용하는 함수를 생성하고 최소한 arity
의 인수가 제공된 경우 결과를 반환하는 func
호출하거나 나머지 func
인수를 허용하는 함수를 반환하는 등의 작업을 수행합니다. func.length
충분하지 않은 경우 func
의 개수를 지정할 수 있습니다.
모놀리식 빌드에서 기본값이 _
인 _.curry.placeholder
값은 제공된 인수에 대한 자리 표시자로 사용될 수 있습니다.
참고: 이 방법은 카레 함수의 "길이" 속성을 설정하지 않습니다.
인수:
@param callable $func 카레를 만드는 함수입니다.
@param (int | null) $arity func
의 개수입니다.
반품:
@return callable 새로운 카레 함수를 반환합니다.
예:
<?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]
밀리초 동안 wait
후 func
호출합니다. func가 호출되면 func
에 추가 인수가 제공됩니다.
인수:
@param callable $func 지연할 함수입니다.
@param int $wait 호출을 지연하는 시간(밀리초)입니다.
@param 배열<int, 혼합> $args
반품:
@return 타이머 ID를 반환합니다.
예:
<?php
use function _ delay ;
delay ( function ( $ text ) {
echo $ text ;
}, 1000 , ' later ' );
// => Echo 'later' after one second.
인수가 반대인 func
호출하는 함수를 만듭니다.
인수:
@param callable $func 인수를 뒤집을 함수입니다.
반품:
@return callable 새로운 반전된 함수를 반환합니다.
예:
<?php
use function _ flip ;
$ flipped = flip ( function () {
return func_get_args ();
});
flipped ( ' a ' , ' b ' , ' c ' , ' d ' );
// => ['d', 'c', 'b', 'a']
func
의 결과를 메모하는 함수를 만듭니다. resolver
제공되면 메모된 함수에 제공된 인수를 기반으로 결과를 저장하기 위한 캐시 키를 결정합니다. 기본적으로 메모이제이션된 함수에 제공된 첫 번째 인수는 맵 캐시 키로 사용됩니다.
참고: 캐시는 메모이제이션된 함수의 cache
속성으로 노출됩니다. 생성은 _.memoize.Cache
생성자를 해당 인스턴스가 clear
, delete
, get
, has
및 set
의 Map
메소드 인터페이스를 구현하는 생성자로 대체하여 사용자 정의할 수 있습니다.
인수:
@param callable $func 출력을 메모하는 함수입니다.
@param (호출 가능 | null) $resolver 캐시 키를 확인하는 함수입니다.
반품:
@return callable 메모된 새 함수를 반환합니다.
예:
<?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']
조건자 func
의 결과를 부정하는 함수를 만듭니다.
인수:
@param callable $predicate 부정할 술어입니다.
반품:
@return callable 새로운 부정 함수를 반환합니다.
예:
<?php
use function _ negate ;
function isEven ( $ n ) {
return $ n % 2 == 0 ;
}
filter ([ 1 , 2 , 3 , 4 , 5 , 6 ], negate ( $ isEven ));
// => [1, 3, 5]
func
한 번만 호출하도록 제한되는 함수를 만듭니다. 함수에 대한 반복 호출은 첫 번째 호출의 값을 반환합니다. func
생성된 함수의 인수로 호출됩니다.
인수:
@param callable $func 제한할 함수입니다.
반품:
@return 새로운 제한된 함수를 호출할 수 있습니다.
예:
<?php
use function _ once ;
$ initialize = once ( ' createApplication ' );
$ initialize ();
$ initialize ();
// => `createApplication` is invoked once
변환된 인수로 func
호출하는 함수를 만듭니다.
인수:
@param callable $func 래핑할 함수입니다.
@param callable[] $transforms 인수가 변환됩니다.
반품:
@return 새 함수를 호출할 수 있습니다.
예:
<?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]
수신하는 인수 앞에 partials
추가하여 func
호출하는 함수를 만듭니다.
인수:
@param callable $func 인수를 부분적으로 적용할 함수입니다.
@param array<int, Mixed> $partials 부분적으로 적용할 인수입니다.
반품:
@return callable 부분적으로 적용된 새로운 함수를 반환합니다.
예:
<?php
use function _ partial ;
function greet ( $ greeting , $ name ) {
return $ greeting . ' ' . $ name ;
}
$ sayHelloTo = partial ( ' greet ' , ' hello ' );
$ sayHelloTo ( ' fred ' );
// => 'hello fred'
start
된 함수의 this
으로 func
호출하는 함수를 만듭니다.
논쟁 :
@Param Callable $ func rest 매개 변수를 적용하는 기능.
@param (int | null) $ 나머지 매개 변수의 시작 위치를 시작합니다.
반품:
@return Callable은 새로운 기능을 반환합니다.
예:
<?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'
생성 함수의 this
으로 func
Function#apply
하는 함수를 만듭니다.
참고 : 이 방법은 스프레드 연산자를 기반으로합니다.
논쟁 :
@Param Callable $는 인수를 전파하는 기능을 기능합니다.
@param int $ 스프레드의 시작 위치를 시작합니다.
반품:
@return Callable은 새로운 기능을 반환합니다.
예:
<?php
use function _ spread ;
$ say = spread ( function ( $ who , $ what ) {
return $ who . ' says ' . $ what ;
});
$ say ([ ' fred ' , ' hello ' ]);
// => 'fred says hello'
추가 인수를 무시하고 하나의 인수를 받아들이는 함수를 만듭니다.
논쟁 :
@Param Callable $ func funct for hatherment에 대한 기능.
반품:
@return은 새로운 캡핑 된 기능을 호출합니다.
예:
<?php
use function _ unary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], unary ( ' intval ' ));
// => [6, 8, 10]
첫 번째 인수로 wrapper
에 value
제공하는 함수를 만듭니다. 함수에 제공된 추가 인수는 wrapper
에게 제공된 인수에 추가됩니다.
논쟁 :
@param 혼합 $ 값 랩 랩 값.
@Param Callable $ 래퍼 래퍼 함수.
반품:
@return은 새로운 기능을 부릅니다.
예:
<?php
use function _ wrap ;
$ p = wrap ( ' _escape ' , function ( $ func , $ text ) {
return ' <p> ' . $ func ( $ text ) . ' </p> ' ;
});
$ p ( ' fred, barney, & pebbles ' );
// => '<p>fred, barney, & pebbles</p>'
두 값을 비교하여 동등한 지 확인합니다.
논쟁 :
@param 혼합 $ value 비교할 값.
@Param은 다른 값을 비교할 다른 값을 혼합했습니다.
반품:
@return boolean은 값이 동등한 경우 true
반환하고, 그렇지 않으면 false
.
예:
<?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
두 값을 비교하여 동등한 지 여부를 결정합니다.
참고 : 이 메소드는 배열, 부울, DateTime 객체, 예외 객체, splobjectStorage, 숫자, 문자열, 유형 어레이, 리소스, DOM 노드 비교를 지원합니다. 물체는 상속되지 않은 열거 가능한 특성으로 비교됩니다.
논쟁 :
@param 혼합 $ value 비교할 값.
@Param은 다른 값을 비교할 다른 값을 혼합했습니다.
반품:
@return bool 값이 동등한 경우 true
false
합니다.
예:
<?php
use function _ isEqual ;
$ object = [ ' a ' => 1 ]
$ other = [ ' a ' => ' 1 ' ]
isEqual ( $ object , $ other )
// => true
$ object === $ other
// => false
value
이 Exception
, ParseError
, error , Throwable
, soapfault , DOMException
, pdoexception`, 객체인지 확인합니다.
논쟁 :
@param 혼합 $ 값 확인 값 확인.
반품:
@return boolean value
오류 객체 인 경우 true
false
합니다.
예:
<?php
use function _ isError ;
isError ( new Exception ())
// => true
isError (Exception::Class)
// => false
두 숫자를 추가합니다.
논쟁 :
@param (int | float | string) $ AUGEND AUGEND AUGEND AUGEND.
@param (int | float | String) $ addend 추가의 두 번째 숫자.
반품:
@return (int | float)은 총계를 반환합니다.
예:
<?php
use function _ add ;
add ( 6 , 4 );
// => 10
array
의 최대 값을 계산합니다. array
비어 있거나 falsey 인 경우 NULL이 반환됩니다.
논쟁 :
@param (배열 | null) $ 배열을 반복 할 배열.
반품:
@return (int | null)은 최대 값을 반환합니다.
예:
<?php
use function _ max ;
max ([ 4 , 2 , 8 , 6 ]);
// => 8
max ([]);
// => null
이 방법은 값이 순위가 매겨지는 기준을 생성하기 위해 각 array
에 대해 각 요소에 대해 호출되는 iteratee
수락한다는 점을 제외하고는 max
입니다. 반복은 하나의 주장으로 호출됩니다 : (값).
논쟁 :
@param array $ 배열 배열 반복.
@param (Callable | String) $ itreate 요소 당 호출 된 ITERATE.
반품:
@return Mixed는 최대 값을 반환합니다.
예:
<?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]
포괄적 인 lower
및 upper
내의 클램프 number
.
논쟁 :
@param int $ 번호 클램프 숫자.
@param int $.
@param int $ 상한 상한.
반품:
@return int 클램프 번호를 반환합니다.
예:
<?php
use function _ clamp ;
clamp (- 10 , - 5 , 5 )
// => -5
clamp ( 10 , - 5 , 5 )
// => 5
number
start
과 끝 사이에 있지만 end
포함되어 있는지 확인합니다. end
지정되지 않으면 start
으로 start
하도록 설정된 다음 0
으로 설정됩니다. start
end
큰 경우 매개 변수는 음의 범위를 지원하기 위해 교환됩니다.
논쟁 :
@param float $ 번호 확인 번호.
@param float $ 범위의 시작을 시작합니다.
@param float $는 범위의 끝을 종료합니다.
반품:
@return boolean은 number
범위에 있으면 true
false
합니다.
예:
<?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
포괄적 인 lower
와 upper
사이에 난수를 생성합니다. 하나의 인수 만 제공되면 0
사이에 숫자가 제공되고 주어진 숫자가 반환됩니다. floating
true
이거나 lower
또는 upper
플로트 인 경우 정수 대신 부동 소수점 번호가 반환됩니다.
논쟁 :
@param (int | float | bool) $ 하한을 낮추십시오.
@param (int | float | bool) $ 상한 상단.
@param (bool | null) $ floating 플로팅 포인트 번호를 반환하도록 지정합니다.
반품:
@return (int | float)은 랜덤 번호를 반환합니다.
예:
<?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
객체의 경로에서 값을 가져옵니다. 해결 된 값이 널이면 기본값이 그 자리에 반환됩니다.
논쟁 :
@param mixed $ 객체 연관 배열 또는 객체를 가져 오기 위해 값을 가져옵니다.
@Param (배열 | String) $ Path DOT 분리 또는 문자열 배열
@Param Mixed $ defaultValue (선택 사항) 해결되지 않은 또는 널 값에 대해 리턴 된 값.
반품:
@return Mixed는 해결 된 값을 반환합니다.
예:
<?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 " );
// => ""
선택된 object
속성으로 구성된 객체를 만듭니다.
논쟁 :
@Param Object $ 객체 소스 객체입니다.
@param (String | String []) $ 경로를 선택할 속성 경로를 경로로 경로.
반품:
@return stdclass 새 개체를 반환합니다.
예:
<?php
use function _ pick ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' 2 ' , ' c ' => 3 ];
pick ( $ object , [ ' a ' , ' c ' ]);
// => (object) ['a' => 1, 'c' => 3]
object
속성으로 구성된 객체를 생성하십시오. predicate
진실을 반환합니다. 술어는 두 가지 주장으로 호출됩니다. (값, 키).
논쟁 :
@Param (Object | NULL) $ 객체 소스 객체.
@Param Callable $ 술어 속성 당 호출 된 기능.
반품:
@return stdclass 새 개체를 반환합니다.
예:
<?php
use function _ pickBy ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' abc ' , ' c ' => 3 ];
pickBy (object, ' is_numeric ' );
// => (object) ['a' => 1, 'c' => 3]
명시 적 메소드 체인 시퀀스를 활성화하여 value
감싸는 lodash
래퍼 인스턴스를 만듭니다. 그러한 시퀀스의 결과는 ->value()
로 랩핑되어야합니다.
논쟁 :
@param 혼합 $ 값 랩 랩 값.
반품:
@return _은 새 lodash
래퍼 인스턴스를 반환합니다.
예:
<?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'
string
낙타 케이스로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 낙타 케이스 스트링을 반환합니다.
예:
<?php
use function _ camelCase ;
camelCase ( ' Foo Bar ' )
// => 'fooBar'
camelCase ( ' --foo-bar-- ' )
// => 'fooBar'
camelCase ( ' __FOO_BAR__ ' )
// => 'fooBar'
string
의 첫 번째 문자를 대문자로 변환하고 나머지는 소문자로 변환합니다.
논쟁 :
@Param String $ String 문자열을 대문자입니다.
반품:
@return String은 자본화 된 문자열을 반환합니다.
예:
<?php
use function _ capitalize ;
capitalize ( ' FRED ' )
// => 'Fred'
[latin-1 supplement] (https => string
en.wikipedia.org/wiki/latin-1_supplement_(Unicode_block)#character_table) 및 [latin Extended-A] (https => // en.wikipedia. org/wiki/latin_extended-a) 기본 라틴 문자에 대한 문자 및 제거 [Diacritical Marks 결합] (https => // en.wikipedia.org/wiki/combining_diacritical_marks).
논쟁 :
@Param String $ String String to deburr.
반품:
@return String은 Deburred String을 반환합니다.
예:
<?php
use function _ deburr ;
deburr ( ' déjà vu ' )
// => 'deja vu'
string
주어진 대상 문자열로 끝 있는지 확인합니다.
논쟁 :
@Param String $ string 검사 할 문자열.
@param 문자열 $를 검색 할 문자열을 대상으로합니다.
@param int $ 위치 검색 위치.
반품:
@return boolean은 string
target
으로 끝나면 true
false
합니다.
예:
<?php
use function _ endsWith ;
endsWith ( ' abc ' , ' c ' )
// => true
endsWith ( ' abc ' , ' b ' )
// => false
endsWith ( ' abc ' , ' b ' , 2 )
// => true
string
의 문자 "&", "<", ">", ' "," "" "" "" "" "", 해당 HTML 엔티티로 변환합니다.
">"문자는 대칭으로 탈출되지만 ">"및 "/"/"/"/"/"와 같은 캐릭터는 태그 또는 인용되지 않은 속성 값의 일부가 아니라면 특별한 의미가 없습니다. 자세한 내용은 Mathias Bynens의 기사 ( "반 관련 재미있는 사실")를 참조하십시오.
HTML로 작업 할 때는 항상 속성 값을 인용하여 XSS 벡터를 줄여야합니다.
논쟁 :
@Param String $ String을 탈출 할 문자열.
반품:
@return String은 탈출 된 문자열을 반환합니다.
예:
<?php
use function _ escape ;
escape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
RegExp
특수 문자 "^", "$", "", ",", "*", "+", "?", "(", ")", "[", "],"{ ","} "및"| " string
에서.
논쟁 :
@Param String $ String을 탈출 할 문자열.
반품:
@return String은 탈출 된 문자열을 반환합니다.
예:
<?php
use function _ escapeRegExp ;
escapeRegExp ( ' [lodash](https://lodash.com/) ' )
// => '[lodash](https://lodash.com/)'
string
케밥 케이스로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 Kebab Caseed String을 반환합니다.
예:
<?php
use function _ kebabCase ;
kebabCase ( ' Foo Bar ' )
// => 'foo-bar'
kebabCase ( ' fooBar ' )
// => 'foo-bar'
kebabCase ( ' __FOO_BAR__ ' )
// => 'foo-bar'
공간 분리 된 단어로 string
소문자로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 하단 케이션 문자열을 반환합니다.
예:
<?php
use function _ lowerCase ;
lowerCase ( ' --Foo-Bar-- ' )
// => 'foo bar'
lowerCase ( ' fooBar ' )
// => 'foo bar'
lowerCase ( ' __FOO_BAR__ ' )
// => 'foo bar'
string
의 첫 번째 문자를 소문자로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 변환 된 문자열을 반환합니다.
예:
<?php
use function _ lowerFirst ;
lowerFirst ( ' Fred ' )
// => 'fred'
lowerFirst ( ' FRED ' )
// => 'fRED'
length
보다 짧은 경우 왼쪽과 오른쪽에 string
으로 묶습니다. 패딩 캐릭터가 length
로 균등하게 나눌 수 없으면 잘린다.
논쟁 :
@Param String $ String String to Pad.
@param int $ 길이 패딩 길이.
@param 문자열 $ char 패딩으로 사용되는 문자열.
반품:
@return String은 패딩 된 문자열을 반환합니다.
예:
<?php
use function _ pad ;
pad ( ' abc ' , 8 )
// => ' abc '
pad ( ' abc ' , 8 , ' _- ' )
// => '_-abc_-_'
pad ( ' abc ' , 2 )
// => 'abc'
length
보다 짧은 경우 오른쪽에 string
으로 묶습니다. 패딩 캐릭터는 length
초과하면 잘린다.
논쟁 :
@Param String $ String String to Pad.
@param int $ 길이 패딩 길이.
@param 문자열 $ char 패딩으로 사용되는 문자열.
반품:
@return String은 패딩 된 문자열을 반환합니다.
예:
<?php
use function _ padEnd ;
padEnd ( ' abc ' , 6 )
// => 'abc '
padEnd ( ' abc ' , 6 , ' _- ' )
// => 'abc_-_'
padEnd ( ' abc ' , 2 )
// => 'abc'
length
보다 짧은 경우 왼쪽에 string
으로 묶습니다. 패딩 캐릭터는 length
초과하면 잘린다.
S 인수 :
@Param String $ string = ''String to Pad.
@param int $ 길이 패딩 길이.
@param 문자열 $ char 패딩으로 사용되는 문자열.
반품:
@return String은 패딩 된 문자열을 반환합니다.
예:
<?php
use function _ padStart ;
padStart ( ' abc ' , 6 )
// => ' abc'
padStart ( ' abc ' , 6 , ' _- ' )
// => '_-_abc'
padStart ( ' abc ' , 2 )
// => 'abc'
string
지정된 무선의 정수로 변환합니다. radix
undefined
0
인 경우 string
이 16 진수가 아닌 한 10
의 radix
사용됩니다.이 경우 16
의 radix
사용됩니다.
참고 : 이 방법은 PHP의 내장 정수 캐스팅을 사용하며, 이는 parseInt
의 ES5 구현과 반드시 일치하지는 않습니다.
논쟁 :
@param (int | float | String) $ string으로 변환 할 문자열.
@param int $ radix radix를 해석하여 string
해석합니다.
반품:
@return int 변환 된 정수를 반환합니다.
예:
<?php
use function _ parseInt ;
parseInt ( ' 08 ' )
// => 8
주어진 문자열 n
번을 반복합니다.
논쟁 :
@Param String $ String String을 반복 할 문자열.
@param int $ n 문자열을 반복하는 횟수.
반품:
@return String은 반복 된 문자열을 반환합니다.
예:
<?php
use function _ repeat ;
repeat ( ' * ' , 3 )
// => '***'
repeat ( ' abc ' , 2 )
// => 'abcabc'
repeat ( ' abc ' , 0 )
// => ''
string
의 pattern
에 대한 일치를 replacement
로 대체합니다.
참고 : 이 메소드는 String#replace
기반으로합니다.
논쟁 :
@param String $ string 수정할 문자열입니다.
@param 문자열 $ 패턴 대체 패턴.
@Param (Callable | String) $ 대체 경기 교체.
반품:
@return String은 수정 된 문자열을 반환합니다.
예:
<?php
use function _ replace ;
replace ( ' Hi Fred ' , ' Fred ' , ' Barney ' )
// => 'Hi Barney'
string
뱀 케이스로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 뱀 케이스 스트링을 반환합니다.
예:
<?php
use function _ snakeCase ;
snakeCase ( ' Foo Bar ' )
// => 'foo_bar'
snakeCase ( ' fooBar ' )
// => 'foo_bar'
snakeCase ( ' --FOO-BAR-- ' )
// => 'foo_bar'
separator
별로 string
분할하십시오.
참고 : 이 메소드는 String#split
기반으로합니다.
논쟁 :
@Param String $ String String으로 분할됩니다.
@Param String $ 분리기 분리기 패턴으로 분리됩니다.
@param int $는 결과를 자르기 위해 길이를 제한합니다.
반품:
@return 배열은 문자열 세그먼트를 반환합니다.
예:
<?php
use function _ split ;
split ( ' a-b-c ' , ' - ' , 2 )
// => ['a', 'b']
string
시작으로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 시작 케이스 스트링을 반환합니다.
예:
<?php
use function _ startCase ;
startCase ( ' --foo-bar-- ' )
// => 'Foo Bar'
startCase ( ' fooBar ' )
// => 'Foo Bar'
startCase ( ' __FOO_BAR__ ' )
// => 'FOO BAR'
string
주어진 대상 문자열로 시작하는지 확인합니다.
논쟁 :
@Param String $ string 검사 할 문자열.
@param 문자열 $를 검색 할 문자열을 대상으로합니다.
@param int $ 위치에서 검색 할 위치.
반품:
@return boolean은 string
target
으로 시작하면 true
false
합니다.
예:
<?php
use function _ startsWith ;
startsWith ( ' abc ' , ' a ' )
// => true
startsWith ( ' abc ' , ' b ' )
// => false
startsWith ( ' abc ' , ' b ' , 1 )
// => true
"interpolate"구분자에 데이터 속성을 보간 할 수있는 컴파일 된 템플릿 함수를 만듭니다. "Escape"구분 장치에서 HTML-ESCAPE 보간 된 데이터 속성을 보간하고 "평가"에서 PHP를 실행합니다. 데이터 속성은 템플릿에서 자유 변수로 액세스 할 수 있습니다. 설정 객체가 주어지면 $templateSettings
값이 우선합니다.
regexp $ 옵션 [ 'Escape'] = _ :: $ templatesettings [ 'Escape'] HTML "Escape"Delimiter. regexp $ 옵션 [ 'Evaluate'] = _ :: $ templatesettings [ 'Evalubate'] "평가"분리기. 배열 $ 옵션 [ 'imports'] = _ :: $ templatesettings [ 'imports'] 템플릿으로 무료 변수로 가져올 객체입니다. regexp $ 옵션 [ 'interpolate'] = _ :: $ templatesettings [ 'interpolate'] "interpolate"Delimiter.
논쟁 :
@Param String $ String 템플릿 문자열입니다.
@param 배열 $ 옵션 옵션 배열.
반품:
@return Callable은 컴파일 된 템플릿 함수를 반환합니다.
예:
<?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 ;
string
전체적으로 소문자로 변환합니다
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 하단 케이션 문자열을 반환합니다.
예:
<?php
use function _ toLower ;
toLower ( ' --Foo-Bar-- ' )
// => '--foo-bar--'
toLower ( ' fooBar ' )
// => 'foobar'
toLower ( ' __FOO_BAR__ ' )
// => '__foo_bar__'
string
전체적으로 대문자로 변환합니다
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 상단 케이스 스트링을 반환합니다.
예:
<?php
use function _ toUpper ;
toUpper ( ' --foo-bar-- ' )
// => '--FOO-BAR--'
toUpper ( ' fooBar ' )
// => 'FOOBAR'
toUpper ( ' __foo_bar__ ' )
// => '__FOO_BAR__'
string
에서 선행 및 후행 공백 또는 지정된 문자를 제거합니다.
논쟁 :
@Param String $ String String to Trim.
@Param String $ char 문자를 다듬을 수 있습니다.
반품:
@return String은 Trimmed String을 반환합니다.
예:
<?php
use function _ trim ;
trim ( ' abc ' )
// => 'abc'
trim ( ' -_-abc-_- ' , ' _- ' )
// => 'abc'
string
에서 후행 흰색 스페이스 또는 지정된 문자를 제거합니다.
논쟁 :
@Param String $ String String to Trim.
@Param String $ char 문자를 다듬을 수 있습니다.
반품:
@return String은 Trimmed String을 반환합니다.
예:
<?php
use function _ trimEnd ;
trimEnd ( ' abc ' )
// => ' abc'
trimEnd ( ' -_-abc-_- ' , ' _- ' )
// => '-_-abc'
string
에서 선행 공백 또는 지정된 문자를 제거합니다.
논쟁 :
@Param String $ String String to Trim.
@Param String $ char 문자를 다듬을 수 있습니다.
반품:
@return String은 Trimmed String을 반환합니다.
예:
<?php
use function _ trimStart ;
trimStart ( ' abc ' )
// => 'abc '
trimStart ( ' -_-abc-_- ' , ' _- ' )
// => 'abc-_-'
주어진 최대 문자열 길이보다 길면 string
자릅니다. 잘린 문자열의 마지막 문자는 기본적으로 "..."로 기본적으로 생략 문자열로 대체됩니다.
길이 = 30 최대 문자열 길이. OCISSION = '...'텍스트를 나타내는 문자열은 생략됩니다. 분리기 분리기 패턴을 잘라냅니다.
논쟁 :
@Param String $ String String to truncate.
@param array $ 옵션 옵션 객체.
반품:
@return String은 잘린 문자열을 반환합니다.
예:
<?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 [...]'
escape
의 역수이 방법은 HTML 엔티티를 변환합니다 &
<
>
, "
및 '
해당 문자에 string
로.
논쟁 :
@Param String $ String 문자열을 에스케이프로 문자열입니다.
반품:
@return String은 에스카로운 문자열을 반환합니다.
예:
<?php
use function _ unescape ;
unescape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
공간 분리 된 단어로 string
대문자로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 상단 케이스 스트링을 반환합니다
예:
<?php
use function _ upperCase ;
upperCase ( ' --foo-bar ' )
// => 'FOO BAR'
upperCase ( ' fooBar ' )
// => 'FOO BAR'
upperCase ( ' __foo_bar__ ' )
// => 'FOO BAR'
string
의 첫 번째 문자를 대문자로 변환합니다.
논쟁 :
@Param String $ string으로 변환 할 문자열입니다.
반품:
@return String은 변환 된 문자열을 반환합니다.
예:
<?php
use function _ upperFirst ;
upperFirst ( ' fred ' )
// => 'Fred'
upperFirst ( ' FRED ' )
// => 'FRED'
string
단어 배열로 나눕니다.
논쟁 :
@Param String $ string 검사 할 문자열.
@param 문자열 $ 패턴 단어와 일치하는 패턴.
반품:
@return array는 string
의 단어를 반환합니다.
예:
<?php
use function _ words ;
words ( ' fred, barney, & pebbles ' )
// => ['fred', 'barney', 'pebbles']
words ( ' fred, barney, & pebbles ' , ' /[^, ]+/g ' )
// => ['fred', 'barney', '&', 'pebbles']
func
호출하려고 시도하여 결과 또는 잡힌 오류 객체를 반환합니다. 추가 인수는 호출 될 때 func
에 제공됩니다.
S 인수 :
@Param Callable $ funct 시도 할 기능.
@param array <int, mixed> $ args와 함께 func
호출하는 인수.
반품:
@return (mixed | trashable)은 func
결과 또는 오류 개체를 반환합니다.
예:
<?php
use function _ attempt ;
// Avoid throwing errors for invalid PDO data source.
$ elements = attempt ( function () {
new PDO ( null );
});
if ( isError ( $ elements )) {
$ elements = [];
}
기본값을 대신에 반환 해야하는지 확인하기 위해 값을 확인합니다. 값이 NAN 또는 NULL 인 경우 기본값이 반환됩니다.
논쟁 :
@param 혼합 $ 값 모든 값.
@Param Mixed $ defaultValue 값이 $ value가 null 또는 nan 일 때 반환합니다.
반품:
@return Mixed는 value
반환합니다.
예:
<?php
use function _ defaultTo ;
$ a = null ;
defaultTo ( $ a , " default " );
// => "default"
$ a = " x " ;
defaultTo ( $ a , " default " );
// => "x"
이 메소드는 수신 한 첫 번째 인수를 반환합니다.
논쟁 :
@param 혼합 $ 값 모든 값.
반품:
@return Mixed는 value
반환합니다.
예:
<?php
use function _ identity ;
$ object = [ ' a ' => 1 ];
identity ( $ object ) === $ object ;
// => true
주어진 객체의 path
에서 값을 반환하는 함수를 만듭니다.
논쟁 :
@Param (배열 | String) $ 경로는 속성의 경로를 얻을 수 있습니다.
반품:
@return Callable은 새로운 액세서 기능을 반환합니다.
예:
<?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]