백엔드 개발 PHP 문제 1에서 PHP 배열 첨자를 시작하는 방법

1에서 PHP 배열 첨자를 시작하는 방법

Apr 18, 2023 pm 02:08 PM

PHP에서 기본 배열 첨자는 0부터 시작합니다. 그러나 일부 시나리오에서는 배열 첨자를 1부터 시작하도록 변경해야 할 수도 있습니다. 이 문서에서는 이 요구 사항을 달성하기 위한 세 가지 방법을 소개합니다.

방법 1: 배열 첨자를 수동으로 수정

배열 첨자를 수동으로 수정하는 것이 가장 간단한 방법입니다. 배열을 정의하고 데이터를 채울 때 첨자를 1부터 늘리면 됩니다. 예:

$arr = array(
    1 => '第一个元素',
    2 => '第二个元素',
    3 => '第三个元素'
);
로그인 후 복사

이런 식으로 처리하면 배열의 첨자는 1, 2, 3이 됩니다.

배열 첨자를 1부터 시작하도록 변경할 때는 수동으로 첨자를 지정해야 한다는 점에 유의하세요. 배열은 기본 방식으로 채울 수 없습니다. 그렇지 않으면 아래 첨자는 여전히 0부터 시작됩니다.

방법 2: 배열 포인터 변경

PHP에서는 재설정 함수를 사용하여 배열 포인터를 첫 번째 요소로 재설정하고, end 함수를 사용하여 배열 포인터를 마지막 요소로 이동할 수 있습니다. 배열 포인터를 -1, 즉 0번째 요소 앞으로 이동할 수 있으면 배열 첨자를 1부터 시작하도록 변경할 수 있습니다.

코드 예:

$arr = array('第一个元素', '第二个元素', '第三个元素');
end($arr);     // 移动到最后一个元素
$idx = key($arr);     // 保存最后一个元素的下标
reset($arr);     // 将指针重置到第一个元素
$i = 0;
while(key($arr) !== $idx) {
    $i++;
    next($arr);     // 指针后移
    $arr_new[$i] = current($arr);     // 保存当前元素到新数组
}
$arr_new[1] = $arr[0];     // 将第0个元素移动到下标为1的位置
로그인 후 복사

위 코드는 $arr 배열의 첨자를 1부터 시작하도록 변경합니다.

이 방법은 포인터를 여러 번 움직여야 하기 때문에 상대적으로 비효율적이라는 점에 유의해야 합니다. 그리고 배열의 0번째 요소가 존재하는 경우 특별한 처리가 필요합니다.

방법 3: array_combine 함수 사용

array_combine 함수는 하나의 배열을 첨자로 사용하고 다른 배열을 값으로 사용하여 새로운 연관 배열을 만들 수 있습니다. 0, 1, 2, 3을 첨자 배열로 사용하고 원래 배열의 값을 값 배열로 사용하는 경우 첨자가 1부터 시작하도록 변경할 수 있습니다.

코드 예:

$arr = array('第一个元素', '第二个元素', '第三个元素');
$arr_new = array_combine(range(1, count($arr)), $arr);
로그인 후 복사

위 코드는 인덱스가 1부터 시작하는 새 배열 $arr_new를 생성합니다.

range 함수로 생성된 배열의 길이는 원래 배열의 길이와 동일해야 한다는 점에 유의하세요. 두 배열의 길이가 일치하지 않으면 경고가 생성됩니다. 게다가 이 접근 방식은 연관 배열에서만 작동합니다. 일반적인 인덱스 배열의 경우 배열 첨자가 재정렬될 수 있습니다.

요약

1부터 PHP 배열 첨자를 시작해야 할 수도 있습니다. 세 가지 방법 중 배열 포인터를 변경하는 방법도 가능하지만 배열 첨자를 수동으로 수정하는 것이 가장 직관적이고 성능이 가장 좋습니다. 효율성이 낮고 적용 범위가 제한적입니다. array_combine 함수를 사용하는 것도 더 나은 방법이지만 적용 범위가 더 좁고 연관 배열에만 적용됩니다. 실제 상황에 따라 요구 사항을 충족할 수 있는 적절한 방법을 선택하는 것이 필요합니다.

위 내용은 1에서 PHP 배열 첨자를 시작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)