[PHP]연관배열3

김이홍·2024년 1월 5일

PHP

목록 보기
7/30
$firstData = array();
while ($row = mysqli_fetch_assoc($firstValuesResult)) {
  $firstData[$row['ksitename']][$row['Boreholename']] = $row;
}

1. 예시 및 정리
데이터베이스 테이블의 구조를 다음과 같이 가정해 보겠습니다:

ksitename Boreholename data1 data2
SiteA BH1 100 200
SiteA BH2 110 210
SiteB BH1 120 220
SiteB BH3 130 230

$firstValuesResult는 이 테이블에 대한 쿼리 결과를 포함하고 있습니다. 이제 $firstData 배열에 데이터를 저장하는 과정을 살펴보겠습니다:

첫 번째 행:

ksitename = "SiteA", Boreholename = "BH1", data1 = 100, data2 = 200
$firstData["SiteA"]["BH1"]에 전체 행을 저장합니다.
두 번째 행:

ksitename = "SiteA", Boreholename = "BH2", data1 = 110, data2 = 210
$firstData["SiteA"]["BH2"]에 전체 행을 저장합니다.
세 번째 행:

ksitename = "SiteB", Boreholename = "BH1", data1 = 120, data2 = 220
$firstData["SiteB"]["BH1"]에 전체 행을 저장합니다.
네 번째 행:

ksitename = "SiteB", Boreholename = "BH3", data1 = 130, data2 = 230
$firstData["SiteB"]["BH3"]에 전체 행을 저장합니다.
결과적으로, $firstData 배열은 다음과 같은 구조를 가질 것입니다:

$firstData = [
    "SiteA" => [
        "BH1" => ["ksitename" => "SiteA", "Boreholename" => "BH1", "data1" => 100, "data2" => 200],
        "BH2" => ["ksitename" => "SiteA", "Boreholename" => "BH2", "data1" => 110, "data2" => 210]
    ],
    "SiteB" => [
        "BH1" => ["ksitename" => "SiteB", "Boreholename" => "BH1", "data1" => 120, "data2" => 220],
        "BH3" => ["ksitename" => "SiteB", "Boreholename" => "BH3", "data1" => 130, "data2" => 230]
    ]
];

이 배열은 각 사이트(ksitename)에 대해, 그 사이트의 각 시추공(Boreholename)에 대한 전체 행의 데이터를 저장합니다. 이를 통해 특정 사이트의 특정 시추공에 대한 모든 정보에 쉽게 접근할 수 있습니다. 예를 들어, SiteA의 BH1 시추공에 대한 모든 정보는 $firstData["SiteA"]["BH1"]을 통해 접근할 수 있습니다.

0개의 댓글