PHP는 다차원 배열, 연관 배열, 일련의 배열 함수를 제공합니다. 컬렉션 클래스는 컬렉션 생성, 필터링, 매핑, 집계 등 고급 컬렉션 작업을 구현하기 위한 사용하기 쉬운 API를 제공합니다. 이러한 기능을 사용하여 트리 구조를 구축하고, 데이터를 필터링 및 매핑하고, 집계 작업을 수행할 수 있습니다.
PHP 고급 기능: 배열 및 컬렉션에 대한 심층 탐색
PHP는 일련의 강력하고 유연한 배열 및 컬렉션 작업을 제공하여 개발자가 복잡한 데이터 구조를 효과적으로 관리하고 처리할 수 있도록 합니다. 이 기사에서는 PHP 배열 및 컬렉션의 고급 기능을 자세히 살펴보고 이러한 기능을 최대한 활용하는 데 도움이 되는 실제 실제 예제를 제공합니다.
1. 배열 기능
PHP는 다차원 배열을 지원하므로 중첩된 데이터 구조를 생성할 수 있습니다. array_walk_recursive()
를 사용하여 다차원 배열을 재귀적으로 탐색하거나 array_reduce()
를 사용하여 축소 작업을 수행할 수 있습니다. array_walk_recursive()
递归遍历多维数组,或者使用array_reduce()
进行归约操作。
$tree = array( 'level1' => array( 'level2' => array( 'data' => 'value' ) ) ); array_walk_recursive($tree, function($value, $key) { echo "$key: $value\n"; });
关联数组使用键名与值进行关联,便于根据键名快速查找和检索值。PHP提供了、
==
和===
等比较运算符,用于比较关联数组中的值。
$assoc = array( 'name' => 'John Doe', 'age' => 30 ); if ($assoc['name'] == 'John Doe') { echo 'Name matches'; }
PHP提供了一系列内置的数组函数,用于操纵数组,如array_merge()
(合并数组)、array_filter()
(过滤数组)、array_map()
(映射数组)等。
$numbers = array(1, 2, 3, 4, 5); $filteredNumbers = array_filter($numbers, function($num) { return $num % 2 == 0; });
二、集合类
除了原生数组,PHP还引入了Collection
类,提供了一组易于使用的API来实现高级集合操作。
可以使用Collection::make()
方法创建Collection
对象。
$collection = Collection::make(['foo', 'bar', 'baz']);
Collection
类提供了filter()
和map()
方法,分别用于过滤和映射集合中的元素。
$filteredCollection = $collection->filter(function($item) { return is_string($item); }); $mappedCollection = $collection->map(function($item) { return strtoupper($item); });
Collection
类还提供了sum()
、average()
和reduce()
$sum = $collection->sum(); $average = $collection->average();
Associative array
Associative array는 키 이름을 사용하여 값을 연결하므로 키 이름을 기준으로 값을 쉽고 빠르게 찾고 검색할 수 있습니다. PHP는 연관 배열의 값을 비교하기 위해 ,
==
, ===
와 같은 비교 연산자를 제공합니다. $tree = array();
$tree['root'] = array(
'left' => array(
'data' => 'left branch'
),
'right' => array(
'data' => 'right branch'
)
);
array_walk_recursive($tree, function($value, $key) {
if ($value != 'root') {
echo "$key: $value\n";
}
});
PHP는
array_merge()
(배열 병합), array_filter()(필터링 배열), array_map()
(매핑 배열) 등 🎜$users = [ ['name' => 'John Doe', 'age' => 30], ['name' => 'Jane Doe', 'age' => 25], ]; $collection = Collection::make($users); $filteredCollection = $collection->filter(function($user) { return $user['age'] > 25; }); $mappedCollection = $collection->map(function($user) { return $user['name']; });🎜🎜 2. 컬렉션 클래스 🎜🎜🎜PHP에는 기본 배열 외에도 고급 컬렉션 작업을 구현하기 위해 사용하기 쉬운 API 세트를 제공하는
Collection
클래스도 도입되었습니다. 🎜🎜🎜🎜컬렉션 만들기 🎜🎜🎜🎜 Collection::make()
메서드를 사용하여 Collection
개체를 만들 수 있습니다. 🎜rrreeeCollection
클래스는 filter()
및 map() 코드를 제공합니다. > 컬렉션의 요소를 각각 필터링하고 매핑하는 데 사용되는 메서드입니다. 🎜rrreee<ol start="3">🎜🎜Aggregation collection🎜🎜🎜🎜<code>Collection
클래스는 sum()
, average()
도 제공합니다. reduce()
와 같은 집계 메서드는 컬렉션에서 요약 값을 계산하는 데 사용됩니다. 🎜rrreee🎜🎜실용 사례🎜🎜🎜🎜다차원 배열을 사용하여 트리 구조 구축🎜🎜rrreee🎜🎜세트를 사용하여 데이터 필터링 및 매핑🎜🎜rrreee위 내용은 PHP 고급 기능: 배열 및 컬렉션에 대한 심층 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!