PHP 배열 루프 변환

王林
풀어 주다: 2023-05-19 20:00:47
원래의
530명이 탐색했습니다.

PHP 프로그래밍에서 배열은 가장 일반적인 데이터 구조 중 하나입니다. 배열을 사용하면 많은 양의 관련 데이터를 저장, 구성 및 액세스할 수 있습니다. 많은 경우 배열에 대해 검색, 정렬, 필터링 등 일련의 작업을 수행해야 합니다. 그 중에서 배열 루프 변환은 상대적으로 중요한 작업입니다. 이 기사에서는 PHP를 사용하여 배열 루프 변환을 구현하는 방법을 자세히 소개합니다.

1. 배열 루프의 기본 구조

PHP에서는 for, foreach 및 기타 루프 문을 사용하여 배열을 반복할 수 있습니다. 다음은 for 루프의 기본 구조입니다.

for ($i = 0; $i < count($array); $i++) {
  // do something with $array[$i]
}
로그인 후 복사

foreach 문을 사용하여 동일한 효과를 얻을 수 있습니다.

foreach ($array as $value) {
  // do something with $value
}
로그인 후 복사

2. 배열 변환 방법

PHP에서는 다음 두 가지 방법을 사용하여 배열을 변환할 수 있습니다.

  1. 배열 함수 사용

PHP는 배열에 대해 다양한 작업을 수행하는 수많은 함수를 제공하며, 그 중 일부는 배열을 변환하는 데 사용할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 함수입니다.

  • array_map(): 배열의 각 요소에 콜백 함수를 적용하고 새 배열을 반환합니다.
  • array_filter(): 콜백 함수를 사용하여 배열의 요소를 필터링하고 새 배열을 반환합니다.
  • array_reduce() 배열: 배열을 단일 값으로 줄이고 해당 값을 반환합니다.

다음은 array_map() 함수를 사용하여 배열의 각 요소를 제곱하는 예입니다.

$array = array(1, 2, 3, 4, 5);
$new_array = array_map(function($x){ return $x * $x; }, $array);
print_r($new_array);
로그인 후 복사

출력은 다음과 같습니다.

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
로그인 후 복사
로그인 후 복사

array_map() 함수를 사용할 때 콜백 함수를 매개변수로 전달해야 한다는 점에 유의하세요. 이 콜백 함수는 하나의 인수(각 요소의 값)를 사용하고 요소를 대체할 값을 반환합니다.

  1. 루프 구조 사용

배열을 반복하고 for 또는 foreach 문을 통해 변환할 수 있습니다. 다음은 for 루프를 사용하여 배열의 요소를 제곱하는 예입니다.

$array = array(1, 2, 3, 4, 5);
$new_array = array();
for ($i = 0; $i < count($array); $i++) {
  $new_array[] = $array[$i] * $array[$i];
}
print_r($new_array);
로그인 후 복사

출력 결과도 다음과 같습니다.

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
로그인 후 복사
로그인 후 복사

3. 일괄 변환 작업

다음 데이터가 포함된 2차원 배열이 있다고 가정합니다.

$data = array(
  array('name' => '张三', 'age' => 19, 'gender' => '男'),
  array('name' => '李四', 'age' => 21, 'gender' => '女'),
  array('name' => '王五', 'age' => 20, 'gender' => '男'),
);
로그인 후 복사

이제 다음 형식으로 변환해야 합니다.

$new_data = array(
  array('姓名' => '张三', '年龄' => 19, '性别' => '男'),
  array('姓名' => '李四', '年龄' => 21, '性别' => '女'),
  array('姓名' => '王五', '年龄' => 20, '性别' => '男'),
);
로그인 후 복사

foreach 루프를 사용하여 이 작업을 수행할 수 있습니다.

$new_data = array();
foreach ($data as $values) {
  $new_data[] = array('姓名' => $values['name'], '年龄' => $values['age'], '性别' => $values['gender']);
}
print_r($new_data);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [姓名] => 张三
            [年龄] => 19
            [性别] => 男
        )

    [1] => Array
        (
            [姓名] => 李四
            [年龄] => 21
            [性别] => 女
        )

    [2] => Array
        (
            [姓名] => 王五
            [年龄] => 20
            [性别] => 男
        )

)
로그인 후 복사

4. 참고

  1. 원본 배열은 변경되지 않습니다.

PHP에서 루프 변환 작업은 일반적으로 원래 배열을 변경하지 않고 새 배열을 생성합니다. 따라서 연산 시 원래 배열의 값이 변경되지 않도록 주의해야 합니다.

  1. 콜백 함수

배열 함수를 사용하여 변환할 경우 콜백 함수를 매개변수로 전달해야 합니다. 콜백 함수가 일부 외부 변수에 액세스해야 하는 경우 클로저를 사용하여 콜백 함수를 정의하여 외부 변수에 올바르게 액세스할 수 있도록 해야 합니다.

  1. Index of array

루프 변환 연산에서는 배열의 인덱스에 주의해야 합니다. 새 배열의 인덱스를 명시적으로 지정하지 않으면 PHP는 일반적으로 0부터 시작하여 증가하는 인덱스 값을 자동으로 할당합니다.

5. 요약

PHP의 배열은 매우 유용한 데이터 구조이며, 그 중에서도 루프 변환은 매우 중요한 작업입니다. for, foreach 루프 구조 또는 array_map, array_filter, array_reduce 등과 같은 배열 함수를 사용하여 배열 변환을 수행할 수 있습니다. 연산 중에는 원래 배열의 값이 변경되지 않도록 주의해야 하며, 배열의 인덱스에도 주의해야 합니다. 이 기사가 독자들이 PHP에서 배열 루프 변환을 마스터하는 데 도움이 되기를 바랍니다.

위 내용은 PHP 배열 루프 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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