>  기사  >  백엔드 개발  >  PHP 배열에서 숫자가 아닌 요소를 지우는 방법

PHP 배열에서 숫자가 아닌 요소를 지우는 방법

PHPz
PHPz원래의
2023-04-19 11:41:47711검색

PHP 개발에서 배열은 매우 중요한 데이터 유형입니다. 더 복잡한 계산이나 기타 작업을 수행하려면 배열에서 숫자가 아닌 모든 요소를 ​​지워야 할 수도 있습니다.

이 기사에서는 PHP를 사용하여 배열에서 숫자가 아닌 요소를 지우는 방법을 소개하고 독자가 이 프로세스를 더 잘 이해할 수 있도록 몇 가지 실용적인 예를 제공합니다.

  1. PHP 내장 함수 array_filter()

array_filter() 함수를 사용하여 배열을 순회하고 조건을 충족하지 않는 요소를 삭제합니다. 이 함수를 사용하여 숫자 요소만 유지하면서 사용자 정의 함수를 통해 배열을 필터링할 수 있습니다. 다음은 코드 예제입니다.

$array = array("string", 1234, "5", "67.8", 90);

function only_num($var)
{
    return is_numeric($var);
}

$result = array_filter($array, "only_num");

print_r($result);  //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )

위 예제에서는 주어진 변수가 숫자인지 아니면 숫자의 문자열인지 확인하는 is_numeric() 함수를 사용합니다. 그런 다음 이 함수를 array_filter() 함수에 콜백 함수로 전달하여 배열을 처리합니다.

  1. 정규식 사용

정규식은 텍스트를 특정 패턴과 일치시키고 바꾸는 데 사용할 수 있는 매우 유용한 텍스트 처리 도구입니다. 이 경우 정규식을 사용하여 모든 숫자를 일치시키고 숫자가 아닌 요소를 제거할 수 있습니다.

다음은 배열 정리를 위한 정규식의 예입니다.

$array = array("string", 1234, "5", "67.8", 90);

foreach ($array as $key => $value) {
    if (preg_match('/^\d+$/',$value) !== 1) {
        unset($array[$key]);
    }
}

print_r($array);  //输出:Array ( [1] => 1234 [2] => 5 [4] => 90 )

위의 예에서는 preg_match() 함수와 정규식 "/^d+$/"를 사용하여 모든 숫자 문자열을 일치시킵니다. 일치가 성공하면(1이 반환됨) 요소는 숫자입니다. 그렇지 않으면 unset() 함수를 호출하여 요소를 삭제합니다. 마지막으로 나머지 숫자 요소를 화면에 출력합니다.

  1. array_walk() 함수 사용

array_walk() 함수는 배열을 반복하고 각 요소에 대해 사용자 정의 함수를 수행하는 데 사용할 수 있는 또 다른 PHP 내장 함수입니다. 이 함수를 사용하여 배열에서 숫자가 아닌 요소를 지울 수 있습니다.

다음은 array_walk() 함수를 사용하여 배열을 정리하는 예입니다.

$array = array("string", 1234, "5", "67.8", 90);

function only_num(&$value, $key)
{
    if (!is_numeric($value)) {
        unset($value);
    }
}

array_walk($array, "only_num");

print_r($array);  //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )

위 예에서는 콜백 함수를 array_walk() 함수에 전달하여 숫자가 아닌 요소를 정리합니다. 요소가 숫자가 아닌 경우 숫자 요소만 남도록 제거합니다.

결론

PHP 개발에서는 배열을 사용하는 것이 매우 일반적입니다. 복잡한 계산이나 기타 작업을 수행하기 위해 배열에서 숫자가 아닌 모든 요소를 ​​제거해야 하는 경우도 있습니다. 이 기사에서는 이 목표를 달성하는 세 가지 방법, 즉 PHP 내장 함수 array_filter() 사용, 정규식 사용 및 array_walk() 함수 사용을 설명합니다. 자신의 필요에 따라 다양한 방법을 선택할 수 있으며 실제 상황에 따라 수정 및 조정할 수 있습니다. 실제 개발에서는 이 기술이 매우 유용할 것입니다.

위 내용은 PHP 배열에서 숫자가 아닌 요소를 지우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.