> 백엔드 개발 > PHP 문제 > PHP에서 배열의 지정된 값을 삭제하는 방법

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

PHPz
풀어 주다: 2023-04-21 09:14:30
원래의
463명이 탐색했습니다.

오늘은 PHP를 사용하여 배열의 지정된 값을 삭제하는 메서드를 작성하는 방법에 대해 설명하겠습니다.

먼저 배열을 이해해야 합니다. 배열은 하나의 변수에 여러 값을 저장할 수 있는 데이터 유형입니다. PHP의 배열은 인덱스 배열과 연관 배열이 될 수 있습니다. 인덱스 배열은 숫자 인덱스 배열인 반면, 연관 배열은 문자열 키를 사용하여 각 값을 지정합니다. 다음을 사용하여 배열을 만들 수 있습니다.

// 索引数组
$numbers = array(1, 2, 3, 4, 5);

// 关联数组
$person = array("name" => "John", "age" => 30, "city" => "New York");
로그인 후 복사

이제 배열에서 특정 값을 삭제하는 방법을 살펴보겠습니다. 배열이 인덱스 배열이라고 가정합니다.

$numbers = array(1, 2, 3, 4, 5);
로그인 후 복사

배열에서 값 3을 삭제하려면 PHP의 내장 함수 array_search()를 사용하여 값의 키 이름을 찾을 수 있습니다. 값을 삭제하려면 unset() 함수를 사용하세요. array_search() 来查找该值的键名,并使用 unset() 函数来删除该值。

$index = array_search(3, $numbers);
unset($numbers[$index]);
로그인 후 복사

现在,如果我们打印 $numbers 数组,您将看到它已经没有包含值 3 了。

print_r($numbers);
// 输出:Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )
로그인 후 복사

但是,当我们使用 array_search() 函数时,它只能返回查找到的第一个匹配项的键。如果数组中有多个值,则我们需要删除每个匹配项。为了处理此情况,我们可以使用一个循环遍历数组并删除所有匹配项。

$numbers = array(1, 2, 3, 4, 5, 3);
$search = 3;

foreach ($numbers as $key => $value) {
    if ($value == $search) {
        unset($numbers[$key]);
    }
}

print_r($numbers);
// 输出:Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )
로그인 후 복사

这样,我们就删除了数组中所有的值为 3 的元素。

另外,如果数组是关联数组,我们可以使用 array_search() 函数和 unset() 函数相同的方法来删除指定的值。

$person = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

$search = "John";

foreach ($person as $key => $value) {
    if ($value == $search) {
        unset($person[$key]);
    }
}

print_r($person);
// 输出:Array ( [age] => 30 [city] => New York )
로그인 후 복사

这样,我们就成功地删除了关联数组中值为 "John" 的键。

总结一下,我们可以使用 array_search() 函数和 unset()rrreee

이제 $numbers 배열을 인쇄하면 값 3이 더 이상 포함되지 않음을 알 수 있습니다. 🎜rrreee🎜그러나 array_search() 함수를 사용하면 발견된 첫 번째 일치 항목의 키만 반환할 수 있습니다. 배열에 여러 개의 값이 있는 경우 일치하는 항목을 각각 제거해야 합니다. 이 상황을 처리하기 위해 루프를 사용하여 배열을 탐색하고 일치하는 항목을 모두 제거할 수 있습니다. 🎜rrreee🎜이런 식으로 배열에서 값이 3인 모든 요소를 ​​삭제했습니다. 🎜🎜또한, 배열이 연관배열인 경우 array_search() 함수와 unset() 함수를 같은 방식으로 사용하여 지정된 값을 삭제할 수 있습니다. 🎜rrreee🎜이런 방식으로 연관 배열에서 값이 "John"인 키를 성공적으로 삭제했습니다. 🎜🎜요약하자면 array_search() 함수와 unset() 함수를 사용하여 PHP 배열에서 지정된 값을 삭제할 수 있습니다. 배열에 삭제해야 할 값이 여러 개 있는 경우 루프를 사용하여 일치하는 항목을 모두 삭제할 수 있습니다. 이 방법은 인덱스 배열과 연관 배열 모두에 적용됩니다. 이 글이 여러분이 PHP 배열의 기본과 방법을 더 잘 이해하는 데 도움이 되었기를 바랍니다. 🎜

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

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