> 백엔드 개발 > PHP 문제 > 키 이름을 유지하는 PHP 2차원 배열을 1차원 배열로 변환

키 이름을 유지하는 PHP 2차원 배열을 1차원 배열로 변환

WBOY
풀어 주다: 2023-05-23 09:59:07
원래의
584명이 탐색했습니다.

PHP에서 배열은 매우 일반적으로 사용되는 데이터 유형입니다. 나는 많은 PHP 개발자들이 배열을 사용하여 데이터를 저장, 처리 및 탐색할 것이라고 믿습니다. 실제 개발에서는 다차원 배열을 1차원 배열로 변환해야 하는 경우가 있으며 키 이름을 보존해야 하는 경우가 있습니다. 이런 종류의 작업은 실제 개발에서 매우 일반적입니다. 이 기사에서는 PHP를 사용하여 2차원 배열을 1차원 배열로 변환하고 키 이름을 보존하는 방법을 소개합니다.

1. PHP 배열이란 무엇입니까?

2차원 배열을 1차원 배열로 변환하는 방법을 소개하기 전에 PHP에서 배열이 무엇인지 이해해야 합니다. PHP에서는 배열을 사용하여 일련의 값을 저장할 수 있습니다. 이러한 값은 정수, 부동 소수점, 문자열, 객체 등과 같은 모든 유형이 될 수 있습니다. 배열의 각 값은 문자열, 정수 등이 될 수 있는 키와 연결됩니다. 다른 언어에 비해 PHP의 배열은 매우 유연하며 다양한 요구 사항을 충족할 수 있습니다.

PHP에서 배열을 정의하는 방법에는 두 가지가 있습니다. 한 가지 방법은 []"를 사용하여 다음과 같이 정의하는 것입니다.

$arr1 = [1, 2, 3];
$arr2 = ['name' => 'xiaoming', 'age' => 18];
로그인 후 복사

다른 방법은 array()를 사용하여 다음과 같이 정의하는 것입니다.

$arr3 = array(4, 5, 6);
$arr4 = array('name' => 'xiaohuang', 'age' => 20);
로그인 후 복사

배열의 구조는 예를 들어 var_dump 함수를 통해 볼 수 있습니다. :

var_dump($arr1);
var_dump($arr2);
var_dump($arr3);
var_dump($arr4);
로그인 후 복사

얻어진 출력 결과는 다음과 같습니다.

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

array(2) {
  ["name"]=>
  string(8) "xiaoming"
  ["age"]=>
  int(18)
}

array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}

array(2) {
  ["name"]=>
  string(8) "xiaohuang"
  ["age"]=>
  int(20)
}
로그인 후 복사

출력 결과에서 알 수 있듯이 $arr1과 $arr3은 숫자로 인덱스된 배열이고, $arr2와 $arr4는 연관 배열입니다. 연관 배열의 2차원 배열을 1차원 배열로 변환하고 키 이름을 유지합니다.

2. 2차원 배열을 1차원 배열로 변환

2개가 있다고 가정합니다. -다음과 같은 차원 배열:

$students = array(
    array('name' => 'xiaoming', 'age' => 18, 'sex' => 'male'),
    array('name' => 'xiaohong', 'age' => 19, 'sex' => 'female'),
    array('name' => 'xiaozhang', 'age' => 20, 'sex' => 'male')
);
로그인 후 복사

이 2차원 배열에는 세 가지 요소가 포함되어 있으며, 각 요소는 학생 ​​정보입니다. 각 학생의 정보에는 이름, 나이, 성별이 포함됩니다. 이제 이 2차원 배열을 1차원 배열로 변환해야 합니다.

foreach 문을 사용하여 다음과 같은 배열 순회를 구현할 수 있습니다.

$newArr = array();
foreach($students as $student) {
    foreach($student as $key => $value) {
        $newArr[$key][] = $value;
    }
}
로그인 후 복사

위 코드에서 첫 번째 foreach 루프는 $students 배열의 각 요소, 즉 각 학생의 정보를 순회합니다. 두 번째 foreach 루프는 각 학생의 정보에 있는 키-값 쌍, 즉 학생의 이름, 나이, 성별을 순회하며 순회된 키-값 쌍은 새로운 1차원 배열에 추가됩니다. 최종 $newArr 배열은 다음과 같습니다.

array(3) {
  ["name"]=>
  array(3) {
    [0]=>
    string(8) "xiaoming"
    [1]=>
    string(8) "xiaohong"
    [2]=>
    string(9) "xiaozhang"
  }
  ["age"]=>
  array(3) {
    [0]=>
    int(18)
    [1]=>
    int(19)
    [2]=>
    int(20)
  }
  ["sex"]=>
  array(3) {
    [0]=>
    string(4) "male"
    [1]=>
    string(6) "female"
    [2]=>
    string(4) "male"
  }
}
로그인 후 복사

$newArr 배열의 각 키-값 쌍은 여전히 ​​원래 2차원 배열의 키 이름을 유지합니다. 특정 키 이름은 후속 처리에서 쉽게 할 수 있습니다

3. 키 이름의 의미

키 이름은 왜 특정 값을 식별하는 데 사용됩니까? 키 이름을 유지한다는 것은 필요한 값을 찾기 위해 반복하지 않고 키 이름을 사용하여 특정 값에 직접 액세스할 수 있다는 것입니다. 또한 키 이름을 유지하면 데이터 처리가 더 유연해지고 추가 등의 작업이 가능해집니다. , 삭제, 수정, 쿼리는 필요에 따라 수행할 수 있습니다.

예를 들어, 위의 $newArr 배열에서 나이를 찾아야 하는 경우 18세 학생의 성별에 대해 다음과 같이 코드를 작성할 수 있습니다.

echo $newArr['sex'][array_search(18, $newArr['age'])];
로그인 후 복사

위 코드에서 알 수 있듯이 키 이름이 그대로 유지되므로 $newArr['age']를 사용하여 학생의 나이 정보를 직접 찾을 수 있고, array_search 함수를 사용하여 나이가 포함된 인덱스 값을 찾을 수 있습니다. $newArr['sex']를 사용하여 학생의 성별 정보를 찾습니다. 4. 요약

이 문서에서는 PHP를 사용하여 변환하는 방법을 간략하게 소개합니다. 2차원 배열을 1차원 배열로 변환하고 키 이름을 유지합니다. 실제 개발에서는 키 이름을 유지하면 데이터 처리가 더 편리해지고 쿼리 속도도 더 효율적이게 되므로 배열 사용에 주의해야 합니다. . 작업을 수행하는 데 키 이름을 사용하면 코드의 가독성, 유지 관리성 및 확장성이 향상됩니다.

위 내용은 키 이름을 유지하는 PHP 2차원 배열을 1차원 배열로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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