>  기사  >  백엔드 개발  >  PHP에서 배열의 지정된 항목을 삭제하는 방법

PHP에서 배열의 지정된 항목을 삭제하는 방법

PHPz
PHPz원래의
2023-04-19 10:08:53432검색

PHP는 웹 애플리케이션, 동적 웹 사이트, 데이터베이스 연결 등을 개발하는 데 사용되는 널리 사용되는 오픈 소스 서버 측 스크립팅 언어입니다. PHP에서 배열은 여러 값을 저장할 수 있고 쉽게 접근, 추가, 수정, 삭제할 수 있는 중요한 데이터 구조입니다. 실제 개발 과정에서 배열의 요소를 삭제하거나 동일한 키 값을 가진 모든 요소를 ​​지정해야 하는 경우가 많습니다. 이 기사에서는 PHP를 사용하여 배열에서 지정된 키를 삭제하는 방법을 소개합니다.

1. PHP 배열 개요

PHP에서 배열은 여러 값을 저장할 수 있는 순서가 지정되고 반복 가능한 컬렉션이며 각 값에는 고유한 키가 있습니다. PHP 배열은 다음과 같은 종류로 나눌 수 있습니다.

1. 인덱스 배열: 정수 키(0부터 시작)를 인덱스로 사용하며 저장 순서와 삽입 순서는 동일합니다.

2. 연관 배열: 사용자 정의 문자열 또는 숫자 키를 인덱스로 사용하고 키와 값 간의 관계를 자유롭게 정의할 수 있습니다.

3. 다차원 배열: 배열에는 다단계 중첩 구조를 형성할 수 있는 다른 배열이 포함되어 있습니다.

PHP 배열 생성 방법은 상대적으로 유연합니다. array() 또는 [] 키워드를 사용할 수 있으며 range() 함수,explosion() 함수 등을 사용할 수도 있습니다.

//使用array()创建索引数组
$arr1 = array('apple', 'banana', 'orange');
//使用[]创建关联数组
$arr2 = ['name' => 'Jack', 'age' => 18, 'gender' => 'male'];
//使用range()函数创建索引数组
$arr3 = range(1, 10);
//使用explode()函数创建索引数组
$str = "apple,banana,orange";
$arr4 = explode(",", $str);

?>

2. 배열에서 지정된 인덱스 키를 가진 요소를 삭제하세요

PHP 배열에서 요소를 삭제하려면 unset() 함수를 사용하세요. 배열의 요소와 객체의 속성을 포함하여 변수를 삭제할 수 있습니다. unset() 함수는 변수, 배열 요소 또는 객체 속성일 수 있는 매개 변수를 전달해야 합니다.

$arr = array('apple', 'banana', 'orange');
unset($arr[1]); //删除索引为1的元素banana
var_dump($arr); //array(2) { [0]=> string(5) "apple" [2]=> string(6) "orange" }

?>

위의 예에서는 인덱스 배열 $arr을 생성하고 unset() 함수를 사용하여 인덱스 1의 바나나 요소를 삭제한 다음 var_dump() 함수를 사용했습니다. 삭제된 배열이 인쇄됩니다.

unset() 함수를 사용하면 지정된 인덱스 키가 있는 요소만 삭제할 수 있고 지정된 키-값 쌍은 삭제할 수 없다는 점에 유의해야 합니다. 지정된 키-값 쌍의 요소를 삭제하려면 array_diff() 함수를 사용하면 됩니다.

3. 배열에서 지정된 키-값 쌍의 요소를 삭제합니다.

PHP 배열에서 지정된 키-값 쌍을 삭제하려면 array_diff() 함수를 사용할 수 있습니다. array_diff() 함수는 배열의 차이를 계산하는 데 사용됩니다. 배열의 요소가 다른 배열에도 존재하면 결과 배열에 포함되지 않습니다. 따라서 삭제할 키-값 쌍을 배열로 array_diff() 함수에 전달하여 삭제 작업을 구현할 수 있습니다.

$arr = ['name' => 'Jack', 'age' => 18, 'gender' => 'male'];
$remove = ['age' => 18];
$result = array_diff($arr, $remove);
var_dump($result); //array(2) { ["name"]=> string(4) "Jack" ["gender"]=> string(4) "male" }

?>

위의 예에서는 연관 배열 $arr을 만들고 새 배열 $remove를 사용하여 삭제할 키-값 쌍을 저장합니다. array_diff() 함수를 호출하면 삭제할 키-값 쌍이 배열로 전달되며, 반환된 결과 배열에는 삭제할 요소가 포함되어 있지 않습니다.

다차원 배열을 삭제하려면 재귀 함수를 사용할 수 있습니다.

function removeKey($array, $key)
{
    foreach ($array as $k => &$v) {
        if ($k=== $key) {
            unset($array[$k]);
        } else {
            if (is_array($v)) {
              $v = removeKey($v, $key);
            }
        }
    }
    return $array;
}

$arr = [
    'fruit' => ['apple', 'banana', 'orange'],
    'color' => [
        'red'   => 'FF0000',
        'green' => '00FF00',
        'blue'  => '0000FF'
    ]
];
$result = removeKey($arr, 'apple');
var_dump($result);

?>

위의 예에서는 두 개의 매개변수를 받는 RemoveKey() 함수를 정의했습니다. 첫 번째 매개변수는 다차원 배열이고 두 번째 매개변수는 키 삭제입니다. . 함수 본문에서는 foreach 루프를 사용하여 배열을 순회하고 각 키-값 쌍을 판단합니다. 키가 삭제할 키와 동일하지 않으면 순회를 계속합니다. unset() 함수를 사용하여 배열에서 키-값 쌍을 삭제합니다. 값이 배열이면 RemoveKey() 함수가 재귀적으로 호출됩니다. 마지막으로 삭제된 배열이 반환됩니다.

4. 요약

이 글에서는 PHP의 배열에서 지정된 키를 가진 요소와 지정된 키-값 쌍을 가진 요소를 삭제하는 방법을 소개합니다. 인덱스 배열의 경우 unset() 함수를 사용하여 지정된 인덱스 키의 요소를 삭제할 수 있으며, 연관 배열의 경우 array_diff() 함수를 사용하여 다차원 배열의 경우 지정된 키-값 쌍의 요소를 삭제할 수 있습니다. 재귀 함수를 사용하여 지정된 키를 삭제합니다. PHP 배열을 수정하거나 재구성해야 할 때 이러한 메소드를 사용하여 지정된 요소를 삭제할 수 있습니다.

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

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