> 백엔드 개발 > PHP 문제 > PHP 배열 조작을 사용하여 요소를 찾고 삭제하는 방법

PHP 배열 조작을 사용하여 요소를 찾고 삭제하는 방법

PHPz
풀어 주다: 2023-04-26 13:41:01
원래의
617명이 탐색했습니다.

PHP는 웹 개발에 널리 사용되는 매우 인기 있는 서버 측 스크립팅 언어입니다. PHP에서 배열은 매우 일반적인 데이터 유형이며 관련 데이터 컬렉션을 저장하는 데 자주 사용됩니다.

데이터가 계속해서 증가함에 따라 배열의 특정 요소를 찾거나 삭제해야 하는 경우가 있습니다. 이 기사에서는 PHP를 사용하여 배열을 조작하여 요소를 찾고 삭제하는 방법에 대해 설명합니다.

1. 배열의 기본 작업

(1) 배열 만들기

PHP에서는 array() 함수를 통해 새 배열을 만들 수 있습니다.

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

[] 연산자를 사용하여 배열을 만들 수도 있습니다.

$numbers = [1, 2, 3, 4, 5];
로그인 후 복사

(2) 배열 요소에 액세스하려면

배열 요소에 액세스할 때 [] 연산자와 요소의 아래 첨자를 사용할 수 있습니다. 배열 첨자는 0부터 시작하므로 첫 번째 요소의 첨자는 0입니다.

echo $numbers[0];    //输出1
로그인 후 복사

(3) 배열 요소 수정

배열 요소를 수정해야 하는 경우 배열 첨자를 사용하여 요소에 액세스하고 값을 다시 할당할 수 있습니다.

$numbers[0] = 10;
로그인 후 복사

이렇게 하면 배열의 첫 번째 요소가 1에서 으로 변경됩니다. 10.

2. 배열 요소 찾기

(1) 선형 검색

PHP에서는 for 루프를 사용하여 배열 요소를 하나씩 비교하여 특정 요소를 찾습니다.

function linear_search($arr, $x) {
  for ($i=0; $i < count($arr); $i++) {
    if ($arr[$i] == $x) {
      return $i;
    }
  }
  return -1;
}
로그인 후 복사

linear_search라는 함수가 여기에 정의되어 있으며 두 개의 매개변수를 받습니다. 배열과 찾을 값입니다. for 루프를 사용하여 배열을 반복하고, 대상 요소가 발견되면 해당 인덱스가 반환됩니다.

이 검색 방법의 단점은 최악의 경우 전체 배열을 비교해야 하고 시간 복잡도가 O(n)이라는 점입니다.

(2) 이진 검색

이진 검색은 경우에 따라 검색 시간을 O(log n)로 단축할 수 있는 보다 효율적인 검색 방법입니다.

이 방법은 정렬된 배열에서만 작동합니다. 기본 아이디어는 다음과 같습니다. 매번 검색 범위를 절반씩 좁힐 수 있습니다.

function binary_search($arr, $x) {
  $low = 0;
  $high = count($arr) - 1;
    
  while ($low <= $high) {
    $mid = floor(($low + $high) / 2);
        
    if ($arr[$mid] < $x) {
      $low = $mid + 1;
    }
    else if ($arr[$mid] > $x) {
      $high = $mid - 1;
    }
    else {
      return $mid;
    }
  }
    
  return -1;
}
로그인 후 복사

binary_search라는 함수가 여기에 정의되어 있으며 배열과 찾을 값이라는 두 가지 매개변수를 받습니다. while 루프를 사용하여 대상 요소의 위치를 ​​찾습니다.

(3) in_array 함수를 사용하여 찾기

PHP에서는 내장 함수 in_array를 사용하여 배열의 요소를 찾을 수 있습니다.

$numbers = [10, 20, 30, 40, 50];

if (in_array(30, $numbers)) {
  echo "Found";
} else {
  echo "Not found";
}
로그인 후 복사

배열에 30이 포함되어 있으므로 이 프로그램은 "Found"를 출력합니다.

3. 배열 요소 삭제

(1) unset 함수를 사용하여 삭제

PHP에서는 내장된 unset 함수를 사용하여 배열의 요소를 삭제할 수 있습니다. 삭제할 요소가 배열의 마지막 요소인 경우 array_pop 함수를 직접 사용할 수 있습니다.

$numbers = [10, 20, 30, 40, 50];

unset($numbers[2]);    //删除30
array_pop($numbers);   //删除50

print_r($numbers);
로그인 후 복사

이 프로그램은 30과 50이 삭제되었기 때문에 [10, 20, 40]을 출력합니다.

(2) array_splice 함수를 사용하여 삭제

배열 요소를 삭제하는 또 다른 방법은 array_splice 함수를 사용하는 것입니다. 이 함수는 배열의 모든 위치에서 시작하여 하나 이상의 요소를 동시에 삭제할 수 있습니다.

$numbers = [10, 20, 30, 40, 50];

array_splice($numbers, 2, 1);  //删除30

print_r($numbers);
로그인 후 복사

이 프로그램은 30이 제거되었기 때문에 [10, 20, 40, 50]도 출력합니다.

요약

PHP는 배열을 처리하기 위한 다양한 내장 함수와 연산자를 제공합니다. 배열 요소 찾기 및 삭제는 PHP 개발에서 자주 사용되는 작업 중 하나이므로 이러한 기술을 이해하는 것이 중요합니다.

배열 요소를 찾을 때 배열의 정렬 여부에 따라 선형 검색과 이진 검색이 가장 일반적인 방법입니다. 배열 요소를 삭제할 때 unset, array_pop, array_splice 등의 함수를 사용할 수 있습니다.

어떤 방법을 사용하든 배열 요소가 올바르게 삭제되도록 하려면 대상 요소의 위치와 첨자를 알아야 합니다.

위 내용은 PHP 배열 조작을 사용하여 요소를 찾고 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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