> 백엔드 개발 > PHP 문제 > PHP 배열의 키 이름이나 인덱스를 변경하는 방법

PHP 배열의 키 이름이나 인덱스를 변경하는 방법

PHPz
풀어 주다: 2023-04-19 10:50:13
원래의
682명이 탐색했습니다.

PHP에서 배열은 매우 일반적으로 사용되는 데이터 유형입니다. 일반적으로 인덱스나 키 이름을 사용하여 배열의 요소에 액세스할 수 있습니다. 어떤 경우에는 요소의 키 이름이나 인덱스를 변경해야 할 수도 있습니다. 이 기사에서는 PHP 배열의 키 이름이나 인덱스를 변경하는 방법을 소개합니다.

1. 배열 인덱스 변경

1. PHP 함수 array_values()를 사용하세요

배열 인덱스를 변경하려면 PHP 내장 함수 array_values()를 사용하세요. 이 함수는 인덱스가 0부터 증가하는 새로운 인덱스 배열을 반환합니다.

예제 코드:

// 原数组
$fruits = array("apple", "banana", "cherry");
 
// 使用array_values()函数获取新的索引数组
$new_fruits = array_values($fruits);
 
// 输出新数组
print_r($new_fruits);
로그인 후 복사

출력 결과:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
로그인 후 복사

예제 코드에서는 먼저 $fruits라는 세 가지 요소를 포함하는 기본 배열을 선언합니다. 그런 다음 array_values() 함수를 사용하여 원래 배열에서 새 인덱스 배열 $new_fruits를 가져옵니다. 마지막으로 print_r() 함수를 사용하여 새 배열을 출력합니다.

2. PHP 함수 array_combine()을 사용하세요.

원래 배열의 값을 새 인덱스 배열의 키 이름으로 사용하려면 array_combine() 함수를 사용하면 됩니다. 이 함수에는 두 개의 매개변수가 필요합니다. 하나는 새 인덱스 배열의 키 이름이고 다른 하나는 원래 배열의 값입니다.

예제 코드:

// 原数组
$fruits = array("apple", "banana", "cherry");
 
// 使用array_combine()函数获取新的索引数组
$new_fruits = array_combine(range(1, count($fruits)), array_values($fruits));
 
// 输出新数组
print_r($new_fruits);
로그인 후 복사

출력 결과:

Array
(
    [1] => apple
    [2] => banana
    [3] => cherry
)
로그인 후 복사
로그인 후 복사

이 예제 코드에서는 먼저 세 개의 요소를 포함하는 기본 배열 $fruits를 선언합니다. 그런 다음 range() 함수를 사용하여 인덱스 키 1, 2, 3을 포함하는 새 배열을 생성합니다. 마지막으로 array_values() 함수를 사용하여 원래 배열의 값을 가져오고 array_combine() 함수를 사용하여 두 배열을 새로운 인덱스 배열 $new_fruits로 결합합니다.

3. foreach 루프를 사용하여 배열을 탐색합니다.

배열의 인덱스를 변경하는 방법은 배열을 반복하고 각 요소의 인덱스를 수동으로 변경하는 방법으로도 가능합니다.

예제 코드:

// 原数组
$fruits = array("apple", "banana", "cherry");
 
// 遍历数组并更改每个元素的索引
$new_fruits = array();
$i = 1;
foreach ($fruits as $fruit) {
    $new_fruits[$i] = $fruit;
    $i++;
}
 
// 输出新数组
print_r($new_fruits);
로그인 후 복사

출력 결과:

Array
(
    [1] => apple
    [2] => banana
    [3] => cherry
)
로그인 후 복사
로그인 후 복사

이 예제 코드에서는 세 개의 요소가 있는 기본 배열 $fruits를 선언합니다. 그런 다음 foreach 루프를 사용하여 배열을 반복하고 각 요소의 인덱스를 1, 2, 3으로 변경하고 이를 새 배열 $new_fruits에 저장합니다. 마지막으로 print_r() 함수를 사용하여 새 배열을 출력합니다.

2. 배열의 키 이름을 변경하세요

1. PHP 함수 array_keys() 및 array_values()를 사용하세요.

배열의 키 이름을 변경하려면 PHP 함수 array_keys() 및 배열_값().

예제 코드:

// 原数组
$student_scores = array("Tom" => 80, "Jerry" => 90, "Mickey" => 95);
 
// 获取新的键名数组和值数组
$new_keys = array_values($student_scores);
$new_values = array_keys($student_scores);
 
// 用新键名数组和值数组组成新数组
$new_student_scores = array_combine($new_keys, $new_values);
 
// 输出新数组
print_r($new_student_scores);
로그인 후 복사

출력 결과:

Array
(
    [80] => Tom
    [90] => Jerry
    [95] => Mickey
)
로그인 후 복사
로그인 후 복사

이 예제 코드에서는 세 개의 원래 키-값 쌍을 포함하는 $student_scores 배열을 선언합니다. 그런 다음 array_keys() 함수를 사용하여 원래 배열의 키를 가져오고 array_values() 함수를 사용하여 원래 배열의 값을 가져옵니다. 다음으로 array_combine() 함수를 사용하여 새 키와 값을 새 배열 $new_student_scores로 재결합합니다.

2. PHP 함수 array_map()을 사용하세요

PHP 함수 array_map()을 사용하여 배열의 키 이름을 변경할 수도 있습니다. array_map() 함수는 콜백 함수를 배열에 적용하고 모든 반환 값을 포함하는 새 배열을 반환합니다.

샘플 코드:

// 原数组
$student_scores = array("Tom" => 80, "Jerry" => 90, "Mickey" => 95);
 
// 使用array_map()函数更改键名
$new_student_scores = array_map(function ($score, $name) {
    return [$score, $name];
}, $student_scores, array_keys($student_scores));
 
// 用新键名数组和值数组组成新数组
$new_student_scores = array_combine(array_column($new_student_scores, 0), array_column($new_student_scores, 1));
 
// 输出新数组
print_r($new_student_scores);
로그인 후 복사

출력 결과:

Array
(
    [80] => Tom
    [90] => Jerry
    [95] => Mickey
)
로그인 후 복사
로그인 후 복사

이 샘플 코드에서는 array_map() 함수를 사용하여 각 키 이름과 해당 값을 새로운 배열로 재결합합니다. 콜백 함수에서는 [$score, $name]을 사용하여 해당 키-값 쌍을 포함하는 새 배열을 반환합니다. 다음으로 array_combine() 함수를 사용하여 새 키와 값을 새 배열 $new_student_scores로 재결합합니다.

요약

이 글에서는 PHP에서 배열의 키 이름과 인덱스를 변경하는 방법을 소개했습니다. array_values(), array_combine() 및 array_column()과 같은 내장 함수를 사용하거나 foreach 루프를 사용하여 배열의 키와 인덱스를 반복하고 수동으로 변경할 수 있습니다. 어떤 방법을 선택하든 배열의 키 이름과 인덱스를 변경하면 개발 중에 더 많은 유연성과 제어력을 얻을 수 있습니다.

위 내용은 PHP 배열의 키 이름이나 인덱스를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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