PHP에서 배열이 0이 아닌 것부터 계산을 시작하도록 만드는 방법

PHPz
풀어 주다: 2023-04-18 14:31:40
원래의
704명이 탐색했습니다.

PHP 언어에서 배열은 일반적으로 사용되는 데이터 유형입니다. 기본적으로 PHP 배열 첨자는 0부터 계산되기 시작하는데, 이는 대부분의 경우에 적합합니다. 그러나 때로는 배열 첨자를 계산하는 시작점을 1 또는 다른 값에서 시작하도록 수정해야 합니다.

PHP에서 0이 아닌 것부터 시작하여 배열을 계산하는 방법에는 두 가지가 있습니다. 하나는 연관 배열을 만들고 각 배열 요소의 키 이름을 수동으로 지정하는 것이고, 다른 하나는 PHP의 내장 함수를 사용하여 인덱스를 변환하는 것입니다. 정렬.

다음은 두 가지 구현 방법에 대한 자세한 설명입니다.

방법 1: 키 이름을 수동으로 지정합니다.

PHP에서 배열을 생성할 때 키 이름을 지정하지 않으면 PHP는 자동으로 증가하는 숫자 인덱스 값을 할당합니다. 기본적으로 키 이름은 시작 값이 0입니다. 예를 들어 키 이름이 1, 2, 3인 3개의 요소를 포함하는 배열과 같이 배열의 첫 번째 요소의 키 이름을 1로 지정하려면 다음과 같이 키 이름을 수동으로 지정할 수 있습니다.

$array = array(
    1 => "first element",
    2 => "second element",
    3 => "third element"
);
로그인 후 복사

in In 이 방법에서는 PHP가 키 이름 자체를 할당하도록 하는 대신 배열 요소 1, 2, 3의 키 이름만 지정하면 됩니다. 이런 방식으로 배열의 첨자는 1부터 시작할 수 있습니다.

이 방법은 배열에 어떤 요소가 있는지 미리 알고 있거나 특정 위치에 요소를 삽입해야 할 때 더 적합합니다.

방법 2: PHP 내장 함수를 사용하여 인덱스 배열 변환

0이 아닌 것부터 시작하는 배열을 계산하는 또 다른 방법은 PHP 내장 함수 array_values()를 사용하는 것입니다. 이 함수는 0부터 시작하는 인덱스를 사용하여 배열에 있는 모든 값의 새 배열을 반환합니다. 따라서 이 함수를 사용하여 인덱스 배열을 변환하고 해당 첨자의 번호를 다시 매길 수 있습니다.

예를 들어 다음과 같이 3개의 요소가 있는 배열이 있습니다.

$array = array(
    "first element",
    "second element",
    "third element"
);
로그인 후 복사

이제 배열의 첫 번째 요소에 키 이름이 1이 되도록 하려고 하므로 아래 첨자의 번호를 다시 매겨야 합니다. 다음 코드를 사용할 수 있습니다:

$new_array = array_values($array);
$new_array = array_merge(array(1 => NULL), $new_array);
로그인 후 복사

이 예에서는 이전 배열을 array_values() 함수에 전달합니다. 이 함수는 첨자가 정확히 0부터 계산되는 새 인덱스 배열을 반환합니다. 그런 다음 array_merge() 함수를 사용하여 새 배열과 이전 배열을 병합하고 첫 번째 항목의 키 이름을 1로 지정했습니다. 이때 새 배열의 첨자는 1부터 시작합니다.

배열의 첫 번째 항목의 키 이름은 여전히 ​​0부터 시작하지만 이제 새 배열을 통해 해당 항목에 액세스할 수 있으며 새 배열의 첨자는 1부터 계산되기 시작합니다.

요약:

어떤 상황에서 배열이 0이 아닌 것부터 계산을 시작하도록 하려는 경우에도 PHP는 솔루션을 제공합니다. 연관 배열을 생성하고 수동으로 각 요소에 키를 할당하거나 내장 함수 array_values()를 사용하여 인덱스 배열을 변환할 수 있습니다.

그러나 배열 첨자의 시작점을 수정하기 전에 실제로 그렇게 해야 하는지 먼저 고려해야 합니다. 결국, PHP가 기본적으로 0부터 시작하는 첨자를 사용하는 것은 완벽한 의미가 있으며 많은 PHP 프로그래머는 이에 익숙합니다.

위 내용은 PHP에서 배열이 0이 아닌 것부터 계산을 시작하도록 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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