>  기사  >  백엔드 개발  >  PHP 2차원 숫자 조합은 중복을 제거하지 않습니다.

PHP 2차원 숫자 조합은 중복을 제거하지 않습니다.

WBOY
WBOY원래의
2023-05-23 11:40:07546검색

PHP에서는 배열을 사용해야 하는 경우가 많고, 두 배열을 하나의 배열로 병합하거나 여러 배열을 하나의 배열로 병합하는 등 배열을 병합해야 하는 경우가 많습니다. 2차원 배열을 병합할 때 문제가 발생할 수 있습니다. 즉, 병합된 배열이 자동으로 중복 제거되지 않습니다. 이번 글에서는 중복 제거 없는 PHP 2차원 숫자 조합의 문제점과 해결 방법을 소개하겠습니다.

1. 2차원 배열이란

PHP에서 배열은 매우 중요한 데이터 구조이며, 각 데이터에는 해당 키 값과 인덱스가 있습니다. 2차원 배열은 다른 배열 내에 중첩된 배열입니다. 즉, 각 요소는 배열입니다.

2. PHP의 2차원 배열

PHP에서는 array() 함수를 사용하는 방법과 [] 구문을 사용하는 방법이 있습니다. 예시 :

// 使用array()函数表示二维数组
$students = array(
    array('name' => '张三', 'age' => 18),
    array('name' => '李四', 'age' => 19),
    array('name' => '王五', 'age' => 20)
);

// 使用[]语法糖表示二维数组
$students = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

3. PHP에서 2차원 배열 병합

PHP는 배열 병합을 위한 array_merge() 함수를 제공합니다. 이 함수는 여러 배열을 병합하고 새 배열을 반환할 수 있습니다.

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '赵六', 'age' => 21],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);

print_r($students);

출력 결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [3] => Array
        (
            [name] => 赵六
            [age] => 21
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)

array_merge() 함수를 사용하면 두 개의 배열을 하나의 배열로 쉽게 병합할 수 있음을 알 수 있습니다. 그러나 병합된 배열에 중복된 요소가 있는 경우 아래와 같이 병합된 배열이 자동으로 중복 제거되지 않습니다.

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '李四', 'age' => 19],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);

print_r($students);

출력 결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [3] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)

병합된 배열에 두 개의 반복된 요소가 포함되어 있음을 알 수 있습니다. 이름 => '이思', 나이 => 19].

4. PHP 2차원 숫자 조합이 중복을 제거하지 못하는 문제 해결

PHP 2차원 숫자 조합이 중복을 제거하지 못하는 문제를 해결하기 위해 array_unique() 함수를 사용할 수 있습니다. 이 함수는 배열에서 중복 요소를 제거하고 중복되지 않은 새 배열을 반환하는 데 사용할 수 있습니다.

샘플 코드는 다음과 같습니다.

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '李四', 'age' => 19],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);
$students = array_unique($students, SORT_REGULAR);

print_r($students);

출력 결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)

array_unique() 함수를 사용하면 병합된 배열을 쉽게 병합하고 최종적으로 중복 요소가 없는 배열을 얻을 수 있음을 알 수 있습니다.

5. 요약

이 기사에서는 중복 제거가 없는 PHP 2차원 숫자 조합의 문제점과 해결책을 소개합니다. 이 기사의 설명을 통해 array_merge() 함수를 사용하면 쉽게 배열을 병합할 수 있음을 알 수 있습니다. 2차원 배열을 병합할 때 중복이 자동으로 제거되지 않습니다. 중복되지 않은 새로운 배열을 얻으려면 array_unique() 함수를 사용하여 중복을 제거해야 합니다.

위 내용은 PHP 2차원 숫자 조합은 중복을 제거하지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 배열 역방향다음 기사:PHP 배열 역방향