배열에서 $tmp 요소의 값을 제거하세요
<?php $tmp = '324'; $arr = array('0' => '321','1' => '322','2' => '323','3' => '324','4' => '325','5' => '326', );
Code
<?php 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 )
인덱스를 재설정하려면 문장을 추가하세요
<?php foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } $arr = array_values($arr); print_r($arr); ?>
이때 결과는
Array( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
array_merge ()도 사용할 수 있습니다. 동일한 효과를 얻습니다
<?php 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 )
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가 배열이거나 기타 복잡한 데이터 구조인 경우 $array에서 $tmp에 포함된 모든 요소를 삭제하세요.
위 내용은 PHP에서 배열의 요소를 삭제하는 방법에 대한 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!