PHP에서 1차원 배열 값을 삭제하는 방법: 1. 사용자 정의 for 루프를 통해 1차원 배열 값을 삭제합니다. 2. "array_search" 및 "array_splice"를 사용하여 삭제합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
php 1차원 배열에서 값 요소를 삭제하는 방법
1.
배열에서 $tmp 요소의 값을 제거하세요
<?php $tmp = '324'; $arr = array( '0' => '321', '1' => '322', '2' => '323', '3' => '324', '4' => '325', '5' => '326', );
Code
foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } print_r($arr); ?>
지금
Array ( [0] => 321 [1] => 322 [2] => 323 [4] => 325 [5] => 326 )
인덱스를 재설정하려면 문장을 추가하세요
foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } $arr = array_values($arr); print_r($arr); ?>
The 이때의 결과
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
array_merge()도 같은 효과를 얻을 수 있습니다
foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } $arr = array_merge($arr); print_r($arr); ?>
이때의 결과
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
2에서 구현되므로 PHP 자체 기능을 우선적으로 사용하세요. C를 사용하며 직접 작성하는 것보다 더 효율적입니다.
array_search 및 array_splice를 사용하세요. 여기서 array_splice는 자동으로 시퀀스 값을 재설정합니다.
$key=array_search($tmp ,$arr); array_splice($arr,$key,1); var_dump($arr);
이때의 결과
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
Best practice
$arr = array_merge(array_diff($arr, array($tmp))); var_dump($arr);
Result
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
여기서 배열요소가 복잡한 자료구조라면 비교도 가능하다. 물론 데이터 자체는 여전히 1차원적입니다.
위의 예에서 $tmp는 값입니다. $tmp가 배열 또는 기타 복잡한 데이터 구조인 경우 $tmp에 포함된 모든 요소를 $array에서 삭제하세요. 위의 방법도 유효합니다.
$arr = array_merge(array_diff($arr, $tmp)); var_dump($arr);
권장 학습: " PHP 비디오 튜토리얼》
위 내용은 PHP에서 1차원 배열의 값을 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!