PHP에서는 인덱스를 재배열하거나 특정 요소의 인덱스 값을 변경하는 등 배열의 인덱스를 변경해야 하는 경우가 많습니다. 이 기사에서는 배열 인덱스를 쉽게 수정하는 데 도움이 되는 몇 가지 일반적으로 사용되는 PHP 함수 및 기술을 소개합니다.
1. array_values() 함수를 사용하여 인덱스를 재정렬하세요.
배열에 불연속 인덱스가 포함되어 있고 이러한 인덱스를 재정렬하려는 경우 array_values() 함수를 사용할 수 있습니다. 이 함수는 요소는 변경되지 않고 인덱스는 순서대로 재배열된 새 배열을 반환할 수 있습니다.
예를 들어 다음 배열이 있다고 가정합니다.
$fruits = array(2 => 'apple', 4 => 'banana', 6 => 'orange');
이 배열의 인덱스는 연속적이지 않습니다. print_r() 함수를 사용하여 이 배열을 인쇄하면 다음과 같은 출력이 표시됩니다.
Array ( [2] => apple [4] => banana [6] => orange )
인덱스를 다시 정렬하려면 다음과 같이 배열을 array_values() 함수에 전달하세요.
$fruits = array_values($fruits);
이제 배열의 인덱스는
Array ( [0] => apple [1] => banana [2] => orange )
이 함수는 원래 배열을 수정하지 않고 새 배열을 반환한다는 점에 유의하세요. 따라서 인덱스 변경을 구현하려면 반환된 배열을 원래 배열에 할당해야 합니다.
2. unset() 함수를 사용하여 요소를 삭제하고 새 키로 다시 할당합니다.
또 다른 방법은 unset() 함수를 사용하여 원래 배열의 요소를 삭제하고 새 키로 다시 할당하는 것입니다. 예를 들어 다음 배열이 있다고 가정해 보겠습니다.
$colors = array('red', 'green', 'blue');
이제 'green' 요소를 제거하고 'purple'을 새 키로 사용한다고 가정해 보겠습니다. unset() 함수를 사용하여 요소를 제거하고 새 배열 요소로 다시 할당할 수 있습니다.
unset($colors[1]); // 删除'green'元素 $colors['purple'] = 'blue'; // 使用'purple'作为键重新分配'blue'元素
이제 배열은 다음과 같습니다.
Array ( [0] => red [purple] => blue )
이 방법을 사용하면 요소와의 충돌을 피하도록 주의해야 합니다. 새 키. 새 키가 기존 키와 충돌하는 경우 해당 키의 값을 덮어씁니다.
3. array_combine() 함수를 사용하여 두 배열을 새 배열로 결합합니다.
때로는 두 배열을 새 배열로 결합하고 배열 중 하나의 키를 새 배열의 키로 사용해야 할 수도 있습니다. 예를 들어 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.
$keys = array('name', 'email', 'phone'); $values = array('John', 'john@example.com', '123-456-7890');
이제 $keys 배열의 요소를 새 배열의 키로 사용하고 $values 배열의 요소를 값으로 사용한다고 가정해 보겠습니다. 새로운 배열에서. array_combine() 함수를 사용하여 이 두 배열을 새 배열로 결합할 수 있습니다.
$contact = array_combine($keys, $values);
이제 $contact 배열은 다음과 같습니다.
Array ( [name] => John [email] => john@example.com [phone] => 123-456-7890 )
두 배열의 요소 개수는 동일해야 합니다. 두 배열의 요소 수가 다른 경우 경고가 발생하고 FALSE가 반환됩니다.
4. array_map() 함수를 사용하여 각 요소에 새 키를 매핑합니다.
원래 배열을 수정하지 않고 각 요소에 새 키를 할당하려면 array_map() 함수를 사용할 수 있습니다. 이 함수는 지정된 배열의 각 요소에 함수를 적용하고 새 배열을 반환합니다.
예를 들어 다음 배열이 있다고 가정해 보겠습니다.
$names = array('John', 'Jane', 'Bob');
이제 인덱스 번호를 키로 사용하여 해당 배열을 새 배열에 매핑한다고 가정해 보겠습니다. array_map() 함수와 익명 함수를 사용하여 이를 달성할 수 있습니다.
$names = array_map(function ($value, $index) { return array( 'id' => $index, 'name' => $value ); }, $names, array_keys($names));
이제 $names 배열은 다음과 같습니다.
Array ( [0] => Array ( [id] => 0 [name] => John ) [1] => Array ( [id] => 1 [name] => Jane ) [2] => Array ( [id] => 2 [name] => Bob ) )
이 함수는 새 배열을 반환한다는 점에 유의하세요. 원래 배열은 영향을 받지 않습니다.
요약
PHP에서는 여러 가지 방법을 사용하여 배열의 인덱스를 변경할 수 있습니다. 인덱스를 재배열하든, 각 요소에 새 키를 할당하든, 선택할 수 있는 다양한 기술과 기능이 있습니다. 가능한 주요 충돌을 피하도록 주의하면서 특정 요구 사항에 따라 적절한 방법을 선택하십시오.
위 내용은 PHP에서 배열 인덱스를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!