프로그래밍 언어/PHP

value 로 PHP 배열 삭제 (key 아님)

Rateye 2021. 8. 12. 10:31
728x90
반응형
질문 : 값으로 PHP 배열 삭제 (키 아님)

다음과 같이 PHP 배열이 있습니다.

$messages = [312, 401, 1599, 3, ...];

$del_val 값 (예 : $del_val=401 )을 포함하는 요소를 삭제하고 싶지만 해당 키를 모릅니다. 도움이 될 수 있습니다. 각 값은 한 번만있을 수 있습니다 .

이 작업을 수행하는 가장 간단한 기능을 찾고 있습니다.

답변

array_search()unset 사용하여 다음을 시도하십시오.

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}

array_search() unset() 사용하여 원래 배열에서 해당 요소를 제거하는 데 사용할 수 있습니다. FALSE 를 반환하지만 성공하면 false-y 값을 반환 할 수 있습니다 ( 0 일 수 있음). 이것이 엄격한 비교 !== 연산자가 사용되는 이유입니다.

if() array_search() 가 값을 반환했는지 여부를 확인하고 반환 된 경우에만 작업을 수행합니다.

출처 : https://stackoverflow.com/questions/7225070/php-array-delete-by-value-not-key
728x90
반응형