PHP 2차원 배열에서 지정된 열 삭제

王林
풀어 주다: 2023-05-19 17:06:09
원래의
944명이 탐색했습니다.

PHP 개발에서 배열은 매우 일반적인 데이터 유형이며 2차원 배열은 다양한 비즈니스 시나리오에서 널리 사용됩니다. 그러나 실제 개발에서는 특정 행이나 열을 삭제하는 등 2차원 배열에 대한 일부 작업을 수행해야 하는 경우가 많습니다. 이 기사에서는 PHP를 사용하여 2차원 배열을 조작하여 지정된 열을 삭제하는 방법을 소개합니다.

  1. 지정된 열을 삭제하려면 unset 함수를 사용하세요.

PHP의 unset 함수는 일반 배열, 연관 배열 및 다차원 배열을 포함한 배열의 요소를 삭제하는 데 사용할 수 있습니다. 구문은 다음과 같습니다.

unset($array[index]);

여기서 $array는 삭제할 요소의 배열을 나타내고 index는 삭제할 요소의 첨자를 나타냅니다.

2차원 배열의 경우 중첩 루프를 통해 전체 배열을 순회한 다음 unset 함수를 사용하여 지정된 열을 삭제할 수 있습니다. 샘플 코드는 다음과 같습니다.

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

for ($i = 0; $i < count($array); $i++) {
    unset($array[$i][$remove_key]); // 删除指定列
}

print_r($array);
?>
로그인 후 복사

위 코드에서는 3개의 요소를 포함하는 2차원 배열을 생성한 후 삭제할 열을 b로 지정하고 루프를 사용하여 2차원 배열 전체를 순회한 후 삭제합니다. 각 행의 b열을 차례로 표시합니다. 마지막으로 처리된 2차원 배열을 인쇄합니다.

  1. array_map 함수를 사용하여 지정된 열을 삭제하세요

PHP는 unset 함수 외에도 지정된 콜백 함수를 각 배열 요소에 적용하고 새 배열을 반환할 수 있는 array_map 함수도 제공합니다. 따라서 array_map 함수를 익명 함수와 함께 사용하면 지정된 열의 값을 null로 설정하여 지정된 열을 삭제하는 효과를 얻을 수 있습니다. 샘플 코드는 다음과 같습니다.

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

$array = array_map(function($row) use ($remove_key) {
            unset($row[$remove_key]); // 删除指定列
            return $row;
        }, $array);

print_r($array);
?>
로그인 후 복사

위 코드에서도 3개의 요소가 포함된 2차원 배열을 만든 다음 삭제할 열을 b로 지정하고 array_map 함수를 사용하여 각 행을 순회한 후 익명을 적용합니다. 지정된 컬럼의 값을 변경하는 함수를 null로 설정하고 최종적으로 처리된 2차원 배열을 얻는다.

  1. array_column 및 array_diff 함수를 사용하여 지정된 열 삭제

위의 두 가지 방법 외에도 PHP에 내장된 array_column 함수 및 array_diff 함수를 사용하여 지정된 열을 삭제할 수도 있습니다. array_column 함수는 2차원 배열에서 특정 컬럼의 값을 추출할 수 있고, array_diff 함수는 여러 배열의 차이를 계산할 수 있습니다. 따라서 먼저 array_column 함수를 사용하여 지정된 열을 추출한 다음 array_diff 함수를 사용하여 차이 집합을 계산하여 지정된 열이 삭제된 배열을 얻을 수 있습니다. 샘플 코드는 다음과 같습니다.

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

$result = array();

foreach ($array as $row) {
    $result[] = array_diff_key($row, array($remove_key => ''));
}

print_r($result);
?>
로그인 후 복사

위 코드에서도 3개의 요소가 포함된 2차원 배열을 생성한 다음 삭제할 열을 b로 지정하고 루프에서 array_diff_key 함수를 사용하여 차이 집합을 계산합니다. 그 결과를 새로운 배열에 추가하면 최종적으로 처리된 2차원 배열이 얻어집니다.

요약:

unset 함수, array_map 함수 또는 array_column 및 array_diff 함수를 사용하든 PHP에서 지정된 열을 삭제할 수 있습니다. 어떤 방법을 선택할지는 실제 비즈니스 시나리오와 개인 프로그래밍 습관에 따라 다릅니다. 실제 개발에서는 코드의 효율성과 가독성을 향상시키기 위해 필요에 따라 가장 적절한 방법을 선택할 수 있습니다.

위 내용은 PHP 2차원 배열에서 지정된 열 삭제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!