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