찾다
백엔드 개발PHP 문제PHP 2차원 배열에서 지정된 열 삭제

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경