PHP 배열에서 키 값을 값으로 변환하는 방법

PHPz
풀어 주다: 2023-04-19 15:19:04
원래의
586명이 탐색했습니다.

PHP는 매우 널리 사용되는 서버 측 스크립팅 언어이며 강력한 배열 기능은 프로그래머에게 큰 편의를 제공합니다. 배열은 데이터를 저장하는 데 사용되는 구조로, 일반적으로 키-값 쌍으로 구성됩니다. 이 구조는 배열의 데이터에 액세스하고 조작하는 것을 매우 편리하게 만듭니다. 그러나 때로는 키-값 쌍의 키를 값으로 변환하고 그 값을 키로 변환하는 등 배열의 키와 값을 변환해야 하는 경우가 있습니다. 이 기사에서는 PHP의 내장 함수를 사용하여 이 작업을 수행하는 방법을 소개합니다.

1. 배열의 키를 값으로 변환

PHP의 array_values ​​​​함수를 사용하여 배열의 키를 값으로 변환할 수 있습니다. 이 함수는 원래 배열의 모든 값을 포함하지만 키 번호가 다시 매겨진 새 배열을 반환합니다. 예를 들어 원본 배열이 다음과 같다면:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
로그인 후 복사
로그인 후 복사

array_values ​​​​함수를 사용하여 이를 다음과 같이 변환할 수 있습니다.

$new_fruits = array_values($fruits);
// $new_fruits = array("red", "yellow", "orange");
로그인 후 복사

이 시점에서 새 배열의 순서는 원본 배열과 동일하지만 키는 숫자 인덱스로 변환됩니다. 이는 배열을 정렬해야 하는 경우와 같이 먼저 키를 값으로 변환한 다음 정렬 후 해당 값을 다시 키로 변환할 수 있는 경우와 같이 일부 경우에 유용할 수 있습니다.

2. 배열 값을 키로 변환

배열 값을 키로 변환하려면 PHP의 array_flip 함수를 사용할 수 있습니다. 이 함수는 원래 배열의 값이 키로 처리되고 원래 배열의 키가 값으로 처리되는 새 배열을 반환합니다. 예를 들어 원본 배열이 다음과 같다면:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
로그인 후 복사
로그인 후 복사

array_flip 함수를 사용하여 이를 다음과 같이 변환할 수 있습니다.

$new_fruits = array_flip($fruits);
// $new_fruits = array("red" => "apple", "yellow" => "banana", "orange" => "orange");
로그인 후 복사

이때 새 배열의 키는 원본 배열의 값이고, 키 값은 원래 배열의 키입니다. 원래 배열에 중복된 값이 있는 경우 변환된 배열에는 마지막 값만 남습니다.

3. 더 복잡한 변환을 위해 array_map 함수 사용

array_values ​​​​및 array_flip 함수는 가장 기본적인 변환 작업을 완료할 수 있지만 때로는 더 복잡한 변환이 필요합니다. 이 시점에서 PHP의 array_map 함수를 사용할 수 있습니다. array_map 함수는 하나 이상의 배열을 매개변수로 허용하고 처리를 위해 각 배열의 요소를 콜백 함수에 전달할 수 있습니다. 콜백 함수의 출력은 새로운 배열로 결합되어 반환됩니다. 따라서 콜백 함수에서 임의의 변환 논리를 구현할 수 있습니다.

예를 들어 각 값이 사람 이름인 배열이 있고 이름의 모든 문자를 대문자로 변환하고 변환된 문자열을 원래 배열에서 새 배열의 키로 사용한다고 가정합니다. value는 새 배열의 값으로 사용되며 다음과 같이 구현할 수 있습니다.

$names = array("Alice", "Bob", "Charlie");

$new_array = array_map(function($name) {
    $key = strtoupper($name); // 将名字转换为大写字母作为新数组的键
    $value = mt_rand(1, 100); // 假设值是一个随机数

    return [$key => $value]; // 返回一个新的数组
}, $names);

print_r($new_array);
로그인 후 복사

출력:

Array
(
    [ALICE] => 40
    [BOB] => 55
    [CHARLIE] => 75
)
로그인 후 복사

이때 새 배열의 키는 이름의 대문자이고 값은 임의의 숫자. 실제 필요에 따라 콜백 함수에 변환 논리를 구현할 수 있습니다.

요약

PHP의 배열 기능은 매우 강력하며 데이터를 빠르게 저장하고 조작하는 데 도움이 됩니다. 때로는 배열의 키와 값을 변환해야 할 때도 있습니다. PHP의 array_values ​​함수를 사용하여 배열 키를 값으로 변환하거나, array_flip 함수를 사용하여 배열 값을 키로 변환하거나, array_map 함수를 사용하여 더 복잡한 변환 논리를 구현할 수 있습니다. 이러한 기능은 배열을 신속하게 변환하고 프로그램 효율성을 향상시키는 데 도움이 될 수 있습니다.

위 내용은 PHP 배열에서 키 값을 값으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!