PHP를 사용하여 MySQL 데이터베이스를 조작 할 때 MySQL_Fetch_Array 함수는 쿼리 결과를 얻는 매우 일반적인 방법입니다. 배열 (일반적으로 하나)을 반환하지만 일부 시나리오에서는 "다차원 배열"의 처리 요구 사항이 발생합니다. 이 기사는 실제 팁과 코드 예제를 결합하여 MySQL_Fetch_Array 가 반환 한 다차원 배열을 올바르게 이해하고 처리 할 수 있도록 도와줍니다.
mysql_fetch_array 는 주로 쿼리 결과 세트에서 데이터 행을 추출하고 배열을 반환하는 데 사용됩니다. 이 배열에는 기본적으로 연관 배열과 숫자 인덱스 형태의 두 키가 포함되어 있습니다. 구조는 다음과 같습니다.
<code>
$row = mysql_fetch_array($result);
print_r($row);
</code>
샘플 출력 :
<code>
Array
(
[0] => 1
[id] => 1
[1] => 장 산
[name] => 장 산
)
</code>
mysql_fetch_array는 한 번에 한 줄의 데이터 만 반환합니다. 이는 본질적으로 1 차원 배열임을 의미합니다.
다차원 배열은 일반적으로 MySQL_Fetch_Array에 의해 직접 반환 된 결과가 아니지만 MySQL_Fetch_Array를 여러 번 호출하여 여러 행의 데이터를 배열에 저장하여 2 차원 배열을 형성합니다.
예:
<code>
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
print_r($data);
</code>
이 시점에서 $ 데이터 는 2 차원 배열이며 각 요소는 데이터 행을 나타냅니다.
<code>
foreach ($data as $index => $row) {
echo "1. {$index} 라인 데이터:<br>";
foreach ($row as $key => $value) {
echo "{$key} : {$value} <br>";
}
echo "<hr>";
}
</code>
이를 통해 각 레코드 라인 별, 필드 별 필드에 액세스 할 수 있습니다.
2 행의 이름 필드에 액세스하십시오.
<code>
echo $data[1]['name'];
</code>
<code>
$link = mysql_connect('gitbox.net', 'username', 'password');
mysql_select_db('testdb', $link);
$sql = "SELECT id, name FROM users";
$result = mysql_query($sql, $link);
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
// 모든 데이터를 출력합니다
foreach ($data as $index => $row) {
echo "1. {$index} 라인 데이터:<br>";
foreach ($row as $key => $value) {
echo "{$key} => {$value}<br>";
}
echo "<hr>";
}
mysql_close($link);
</code>
mysql_fetch_array는 매번 1 차원 배열 (즉, 1 행의 데이터 행)을 반환합니다.
다차원 배열은 여러 행의 데이터를 결합하여 루핑하여 mysql_fetch_array를 호출하는 데 사용됩니다.
이중층 루프 또는 인덱스를 통해 다차원 배열로 데이터에 액세스하고 처리 할 수 있습니다.
숫자 인덱스의 중복성을 피하기 위해 연관 배열 만 반환하는 MySQL_Assoc 매개 변수를 사용하는 것이 좋습니다.
이러한 기술을 마스터하면 데이터베이스 쿼리 결과를보다 효율적으로 처리하고 더 명확하고 간결한 코드를 작성하는 데 도움이됩니다.