PHP 배열에서 특정 문자열을 제거하는 방법

青灯夜游
풀어 주다: 2023-03-16 19:02:02
원래의
1871명이 탐색했습니다.

두 가지 방법: 1. array_search() 및 array_splice()를 사용하여 삭제합니다. 구문은 "array_splice($arr,array_search("string",$arr,true),1);"입니다. 2. foreach 문과 unset()을 사용하여 "foreach($arr as $k=>&$v){if($v==="string"){unset($arr[$k) 구문을 삭제합니다. ]) ;}}".

PHP 배열에서 특정 문자열을 제거하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

방법 1: array_search()+array_splice() 사용

1단계: array_search( ) 함수 배열에서 지정된 문자열을 검색하고 해당 키 이름

array_search(value,array,strict)
로그인 후 복사
parameterdescription
value을 반환합니다. 배열에서 검색할 키 값을 지정합니다.
array필수입니다. 검색할 배열을 지정합니다.
strict선택사항. 이 매개변수가 TRUE로 설정되면 함수는 배열에서 동일한 데이터 유형 및 값의 요소를 검색합니다. 가능한 값:
  • true
  • false - 기본값
true로 설정하면 배열에 지정된 값의 유형이 확인되며 숫자 5와 문자열 5가 다릅니다(예제 2 참조).
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"12",12,25,24);
echo "原数组:";
var_dump($arr); 
$key=array_search("12",$arr,true);
echo "指定字符串&#39;12&#39;的键名为:".$key;

?>
로그인 후 복사

PHP 배열에서 특정 문자열을 제거하는 방법

2단계: array_splice() 함수를 사용하여 획득한 키 이름을 기반으로 요소를 삭제합니다.

array_splice() 함수는 선택한 요소를 배열에서 제거합니다. 새 요소) .

array_splice(array1,start,length,array2)
로그인 후 복사
ParametersDescription
array1필수입니다. 배열을 지정합니다.
start필수입니다. 수치. 삭제된 요소의 시작 위치를 지정합니다. 0 = 첫 번째 요소. 값이 양수로 설정된 경우 배열의 값으로 지정된 오프셋에서 제거가 시작됩니다. 이 값을 음수로 설정하면 배열 끝에서 값으로 지정된 오프셋에서 제거가 시작됩니다. -2는 배열의 두 번째 요소부터 마지막 ​​요소까지 시작한다는 의미입니다.
길이선택사항. 수치. 제거할 요소 수를 지정합니다. 이는 반환된 배열의 길이이기도 합니다. 이 값이 양수로 설정된 경우 이 요소 수를 제거합니다. 이 값이 음수로 설정되면 시작부터 배열 끝의 길이의 역수까지 모든 요소가 제거됩니다. 이 값을 설정하지 않으면 시작 매개변수에 설정된 위치부터 배열 끝까지의 모든 요소가 제거됩니다.
array2선택 사항입니다. 원래 배열에 삽입할 요소가 포함된 배열을 지정합니다. 요소가 하나만 있는 경우 문자열로 설정할 수 있으며 배열로 설정할 필요가 없습니다.

설명: 이 함수는 원래 배열을 변경합니다

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"12",12,25,24);
echo "原数组:";
var_dump($arr); 
$key=array_search("12",$arr,true);
echo "指定字符串&#39;12&#39;的键名为:".$key;


array_splice($arr,$key,1);
echo "<br><br>删除指定字符串&#39;12&#39;后:";
var_dump($arr); 
?>
로그인 후 복사

PHP 배열에서 특정 문자열을 제거하는 방법

방법 2: foreach 문 + unset() 함수 사용

1단계: foreach 문을 사용하여 참조를 통해 배열을 순회합니다. loop

foreach ($array as $key => &$value){
    //循环体语句块;
}
로그인 후 복사

주어진 $array 배열을 순회하며 각 루프에서 현재 배열의 값을 $value에 할당하고 키 이름을 $key에 할당합니다.

일반적으로 foreach 문을 사용하여 배열을 순회하는 경우 배열 백업에서 작동하며 일반적으로 배열 자체에는 영향을 미치지 않습니다.

루프를 통해 배열을 변경하려면 참조 루프를 사용할 수 있습니다($value 앞에 &를 추가하면 foreach 문이 값을 복사하는 대신 참조로 값을 할당함). 루프 본문은 배열 자체에 영향을 미칩니다.

2단계: 루프 본문에서 "===" 연산자를 사용하여 지정된 문자열을 찾고 unset() 함수를 사용하여 요소를 삭제합니다.

if($value==="指定字符串"){
	unset($arr[$key]);
}
로그인 후 복사

전체 샘플 코드:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"25",12,25,"24");
echo "原数组:";
var_dump($arr); 
foreach ($arr as $key => &$value){
	if($value==="25"){
		unset($arr[$key]);
	}
}
echo "<br>删除指定字符串&#39;25&#39;后:";
var_dump($arr); 
?>
로그인 후 복사

PHP 배열에서 특정 문자열을 제거하는 방법

볼 수 있듯이 마지막 요소 앞에 &가 있습니다. 이는 배열의 마지막 요소에 대한 $value 참조가 foreach 루프 후에도 계속 유지되기 때문입니다. 이를 파괴하려면 unset()을 사용해야 합니다.

unset($value); // 最后取消掉引用
로그인 후 복사

PHP 배열에서 특정 문자열을 제거하는 방법

추천 학습: "PHP 비디오 튜토리얼"

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

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