> 백엔드 개발 > PHP 문제 > PHP에서 다차원 배열을 만드는 방법

PHP에서 다차원 배열을 만드는 방법

PHPz
풀어 주다: 2023-04-23 16:34:43
원래의
792명이 탐색했습니다.

PHP는 다차원 배열 생성을 지원하는 인기 있는 프로그래밍 언어입니다. 다차원 배열은 다변량 배열과 유사하게 다른 배열 내에 중첩된 배열입니다. PHP에는 다차원 배열을 생성하는 방법이 많이 있습니다. 이 기사에서는 일반적으로 사용되는 몇 가지 방법을 소개합니다.

방법 1: 배열 리터럴을 사용하여 다차원 배열 만들기

배열 리터럴은 코드에서 배열을 직접 정의하는 방법을 말합니다. 배열 리터럴을 사용하면 복잡한 데이터 구조를 나타내는 다차원 배열을 만들 수 있습니다. 예를 들어, 다음 코드는 세 개의 하위 배열을 포함하는 2차원 배열을 만듭니다.

$array = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
로그인 후 복사

이 예에서 $array는 세 개의 하위 배열을 포함하는 2차원 배열이며, 각 하위 배열에는 세 개의 요소가 포함됩니다. 각 요소는 아래 첨자를 사용하여 액세스할 수 있습니다. $array是一个包含三个子数组的二维数组,每个子数组包含三个元素。可以使用下标来访问每个元素:

echo $array[0][1]; // 输出2
로그인 후 복사

使用数组字面量创建多维数组非常方便,特别是当数组元素已知时。但是,当数组元素数量较多时,手动编写字面量将变得困难和冗长。

方法二:使用循环创建多维数组

循环是创建多维数组的常见方法之一。可以使用for循环或foreach循环来遍历数组并添加新元素。例如,下面的代码创建了一个包含三个子数组的二维数组,每个子数组包含三个随机数:

$array = [];
for ($i = 0; $i < 3; $i++) {
    $subarray = [];
    for ($j = 0; $j < 3; $j++) {
        $subarray[] = rand(1, 10);
    }
    $array[] = $subarray;
}
로그인 후 복사

在这个例子中,使用两个嵌套的for循环来创建子数组。第一个循环遍历主数组中的三个位置,每个位置都添加一个新的子数组。第二个循环遍历每个子数组中的三个位置,每个位置都添加一个新的随机数。

方法三:使用递归函数创建多维数组

递归是创建多维数组的高级方法之一。递归函数是指调用自身的函数,可以使用递归函数来创建任意层次的多维数组。例如,下面的代码创建了一个包含三个子数组的二维数组,每个子数组包含三个子数组:

function create_multi_array($depth) {
    if ($depth == 0) {
        return [];
    }
    return [
        create_multi_array($depth - 1),
        create_multi_array($depth - 1),
        create_multi_array($depth - 1)
    ];
}

$array = create_multi_array(3);
로그인 후 복사

在这个例子中,create_multi_array()是一个递归函数,它接受一个整数参数表示数组的深度。如果深度为0,函数返回一个空数组。否则,函数返回一个包含三个子数组的数组,每个子数组是由调用create_multi_array()三次递归创建的。

方法四:使用array_fill()函数创建多维数组

array_fill()是一个PHP内置函数,可以用来创建包含指定值的数组。可以使用嵌套的array_fill()函数调用来创建多维数组。例如,下面的代码创建了一个包含三个子数组的二维数组,每个子数组包含三个相同的值:

$array = array_fill(0, 3, array_fill(0, 3, "hello"));
로그인 후 복사

在这个例子中,首先调用array_fill(0, 3, "hello")创建一个包含三个字符串"hello"的数组。然后,使用嵌套的array_fill()函数调用三次来创建一个包含三个子数组的数组,每个子数组都是由调用array_fill(0, 3, "hello")rrreee

배열 리터럴을 사용하여 다차원 배열을 만드는 것은 특히 배열 요소가 알려진 경우 매우 편리합니다. 그러나 배열 요소 수가 많으면 리터럴을 수동으로 작성하는 것이 어렵고 장황해집니다.

방법 2: 루프를 사용하여 다차원 배열 만들기

루프는 다차원 배열을 만드는 일반적인 방법 중 하나입니다. for 루프나 foreach 루프를 사용하여 배열을 반복하고 새 요소를 추가할 수 있습니다. 예를 들어, 다음 코드는 각각 세 개의 난수를 포함하는 세 개의 하위 배열을 포함하는 2차원 배열을 만듭니다. 🎜rrreee🎜이 예에서는 두 개의 중첩 for 루프를 사용하여 하위 배열을 만듭니다. 첫 번째 루프는 기본 배열의 세 위치를 반복하여 각 위치에 새 하위 배열을 추가합니다. 두 번째 루프는 각 하위 배열의 세 위치를 반복하여 각 위치에 새로운 난수를 추가합니다. 🎜🎜방법 3: 재귀 함수를 사용하여 다차원 배열 만들기🎜🎜재귀는 다차원 배열을 만드는 고급 방법 중 하나입니다. 재귀 함수는 자신을 호출하는 함수를 의미합니다. 재귀 함수를 사용하면 모든 수준에서 다차원 배열을 만들 수 있습니다. 예를 들어, 다음 코드는 각각 세 개의 하위 배열을 포함하는 세 개의 하위 배열을 포함하는 2차원 배열을 만듭니다. 🎜rrreee🎜이 예에서 create_multi_array()는 깊이를 나타내는 정수 매개변수를 허용하는 재귀 함수입니다. 배열의. 깊이가 0이면 함수는 빈 배열을 반환합니다. 그렇지 않으면 함수는 create_multi_array()에 대한 세 번의 재귀 호출로 각각 생성된 세 개의 하위 배열이 포함된 배열을 반환합니다. 🎜🎜방법 4: array_fill() 함수를 사용하여 다차원 배열 만들기🎜🎜array_fill()는 지정된 값을 포함하는 배열을 만드는 데 사용할 수 있는 PHP 내장 함수입니다. 중첩된 array_fill() 함수 호출을 사용하여 다차원 배열을 만들 수 있습니다. 예를 들어, 다음 코드는 각각 3개의 동일한 값을 포함하는 3개의 하위 배열을 포함하는 2차원 배열을 만듭니다. 🎜rrreee🎜이 예에서는 먼저 array_fill(0, 3, "hello")를 호출하고 세 개의 문자열 "hello"를 포함하는 배열입니다. 그런 다음 중첩된 array_fill() 함수 호출을 세 번 사용하여 세 개의 하위 배열이 포함된 배열을 만들고, 각 하위 배열은 array_fill(0, 3, "hello")를 호출하여 채워집니다. . 🎜🎜요약🎜🎜PHP에는 배열 리터럴, 루프, 재귀 함수, 내장 함수 등을 사용하는 등 다차원 배열을 만드는 방법이 많이 있습니다. 각 방법에는 처리되는 데이터 구조 및 기타 요소에 따라 고유한 장점과 단점이 있습니다. 이러한 방법에 익숙해지고 이를 사용하여 연습하면 PHP 프로그래밍 기술을 향상하는 데 도움이 됩니다. 🎜

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

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