✅ 1. PHP array_chunk 함수 설명
array_chunk() 함수는 배열을 일정한 크기(chunk)로 나누어 2차원 배열로 반환합니다.
필요 시 키를 유지(preserve keys) 여부도 설정할 수 있습니다.
📌 함수 원형
array_chunk(array $array, int $length, bool $preserve_keys = false): array
✔ 주요 기능
- 배열을 $length 크기만큼 나누어 나머지는 마지막 그룹으로 구성.
- $preserve_keys를 true로 하면 원본 배열의 key를 유지한다.
✅ 2. PHP array_chunk 샘플 코드
<?php
$data = ['a', 'b', 'c', 'd', 'e', 'f'];
$result = array_chunk($data, 2);
print_r($result);
?>
✅ 3. 샘플코드 이용 방법 및 Output 설명
✔ 실행 방법
- PHP 파일로 저장 후 실행 → PHP CLI 또는 웹서버 통해 실행
✔ Output
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e [1] => f ) )
✅ 4. VB.NET 유사 기능 — 사용자 정의 함수 구현
VB.NET에는 PHP array_chunk와 동일한 내장 함수가 없어 사용자 정의 함수를 만들어야 합니다.
✔ VB.NET 함수 설명
이 함수는 배열을 지정된 크기로 나누어 List(Of T()) 형태로 반환합니다.
✔ VB.NET 샘플 코드
Public Function ArrayChunk(Of T)(data As T(), chunkSize As Integer) As List(Of T())
Dim result As New List(Of T())()
For i As Integer = 0 To data.Length - 1 Step chunkSize
Dim size As Integer = Math.Min(chunkSize, data.Length - i)
Dim chunk(size - 1) As T
Array.Copy(data, i, chunk, 0, size)
result.Add(chunk)
Next
Return result
End Function
' 사용 예
Dim arr = {"a", "b", "c", "d", "e", "f"}
Dim chunks = ArrayChunk(arr, 2)
For Each c In chunks
Console.WriteLine(String.Join(",", c))
Next
✔ Output
a,b c,d e,f
✅ 5. C# 유사 기능 — 사용자 정의 함수 구현
✔ C# 함수 설명
C#에도 기본 제공 함수는 없어 직접 구현해야 합니다.
✔ C# 샘플 코드
public static List<T[]> ArrayChunk<T>(T[] data, int chunkSize)
{
List<T[]> result = new List<T[]>();
for (int i = 0; i < data.Length; i += chunkSize)
{
int size = Math.Min(chunkSize, data.Length - i);
T[] chunk = new T[size];
Array.Copy(data, i, chunk, 0, size);
result.Add(chunk);
}
return result;
}
// 사용 예
var arr = new[] { "a", "b", "c", "d", "e", "f" };
var chunks = ArrayChunk(arr, 2);
foreach (var c in chunks)
{
Console.WriteLine(string.Join(",", c));
}
✔ Output
a,b c,d e,f
✅ 6. Python 유사 기능 — more_itertools.chunked 또는 슬라이싱 사용
Python 기본 라이브러리에는 chunk 함수가 없지만 구현은 매우 간단합니다.
✔ Python 설명
아래는 리스트를 지정 크기로 나눠 리스트의 리스트로 반환합니다.
✔ Python 샘플 코드
def array_chunk(data, size):
return [data[i:i+size] for i in range(0, len(data), size)]
arr = ["a", "b", "c", "d", "e", "f"]
chunks = array_chunk(arr, 2)
for chunk in chunks:
print(chunk)
✔ Output
['a', 'b'] ['c', 'd'] ['e', 'f']
✅ 7. JavaScript 유사 기능 — 사용자 정의 구현
✔ JavaScript 설명
JS에서도 Array.prototype에 chunk 기능이 없어 구현해야 합니다.
✔ JavaScript 샘플 코드
function arrayChunk(data, size) {
let result = [];
for (let i = 0; i < data.length; i += size) {
result.push(data.slice(i, i + size));
}
return result;
}
const arr = ["a", "b", "c", "d", "e", "f"];
const chunks = arrayChunk(arr, 2);
console.log(chunks);
✔ Output
[ [ 'a', 'b' ], [ 'c', 'd' ], [ 'e', 'f' ] ]
'개발.이산이다' 카테고리의 다른 글
| in_array (0) | 2025.12.12 |
|---|---|
| array_fill (0) | 2025.12.11 |
| date_diff (0) | 2025.12.10 |
| array_diff_ukey (0) | 2025.12.09 |
| GMT+9 기준으로 현재 날짜 구하기 (0) | 2025.09.28 |