>  기사  >  백엔드 개발  >  PHP가 반환하는 배열을 지정할 수 있습니까?

PHP가 반환하는 배열을 지정할 수 있습니까?

PHPz
PHPz원래의
2023-04-23 10:06:44637검색

PHP에서 반환하는 배열을 지정할 수 있나요?

초보자에게 PHP 배열은 매우 중요한 데이터 구조입니다. 개발 중에 배열을 반환해야 하는 경우가 많지만 어떤 경우에는 이 배열의 특정 항목만 필요합니다. 그렇다면 PHP에는 배열에서 지정된 항목만 반환할 수 있는 해당 메서드가 있습니까?

답은 그렇습니다. 이 기사에서는 array_filter() 및 array_map()이라는 두 가지 PHP 함수를 소개합니다. 두 함수 모두 지정된 항목을 배열로 반환할 수 있습니다.

array_filter() 함수

array_filter() 함수는 PHP에 내장된 함수로 배열에서 특정 조건에 맞지 않는 요소를 필터링하고 조건에 맞는 요소를 반환하는 데 사용됩니다. 이 함수의 콜백 함수 인수를 사용하여 원하는 배열 값이 포함된 배열을 반환할 수 있습니다.

예는 다음과 같습니다.

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$result = array_filter($arr, function($key) {
    if ($key == 'name' || $key == 'age') {
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_KEY);

print_r($result);
?>

이 예에서는 array_filter() 함수를 사용합니다. 이 함수는 배열의 이름과 연령 항목만 반환합니다. 함수의 두 번째 매개변수는 배열의 키 이름을 매개변수로 받아 Boolean 값을 반환하는 콜백 함수입니다. true인 경우 이 요소가 포함되고, false인 경우 이 요소가 포함되지 않습니다. ARRAY_FILTER_USE_KEY 매개변수는 키 값이 아닌 키 이름을 전달하고 있음을 나타냅니다.

여러 개의 필터링된 키-값 쌍을 반환하려면 다음 코드를 사용할 수 있습니다.

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$result = array_filter($arr, function($value, $key) {
    if ($key == 'name' || $key == 'age') {
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);
?>

이 예는 위의 예와 매우 유사하지만 키 이름과 키 값을 모두 콜백 함수에 전달합니다. 키 이름과 키-값을 비교하여 여러 키-값 쌍을 반환할 수 있습니다.

array_map() 함수

array_map() 함수도 PHP의 내장 함수입니다. 이 함수는 하나 이상의 배열을 허용하고 새 배열을 반환합니다. 여기서 각 요소는 각 원본 배열의 해당 요소를 처리한 결과입니다. 이 함수를 사용하여 전체 배열 대신 원하는 키가 포함된 배열을 반환할 수 있습니다.

예는 다음과 같습니다.

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$filtered_keys = ['name', 'age'];
$result = array_map(function($key) use ($arr) {
    return $arr[$key];
}, $filtered_keys);

print_r($result);
?>

이 예에서는 array_map() 함수를 사용하여 이름과 나이만 포함된 배열을 반환합니다. 함수의 두 번째 매개변수는 필수 키를 포함하는 배열입니다. array_map()의 콜백 함수를 사용하여 각 키의 값을 가져오고 use 키워드를 사용하여 원래 배열을 전달합니다.

어떤 항목을 반환할지 확실하지 않거나 시간이 지남에 따라 항목 수가 변경될 수 있는 경우 array_filter() 함수를 사용해야 한다는 점에 유의하는 것이 중요합니다. 그리고 반환할 항목을 이미 알고 있거나 항목 수를 알고 있는 경우 array_map() 함수를 사용할 수 있습니다.

요약

PHP에서는 array_filter() 및 array_map() 함수를 사용하여 지정된 항목을 배열로 반환할 수 있습니다. 그들은 모두 콜백 함수를 통해 배열을 필터링하거나 재구성하여 원하는 결과를 반환할 수 있습니다. 어떤 항목을 반환해야 하는지, 항목 개수가 고정되어 있는지 여부에 따라 어떤 기능을 사용할지 선택할 수 있습니다.

위 내용은 PHP가 반환하는 배열을 지정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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