반응형
PDO 연결 배열로 모든 그룹 키-값 쌍 가져오기
가끔 다음과 유사한 질문이 있을 때가 있습니다.
SELECT `key`, `value` FROM `settings`;
이 경우 다음 값을 사용하여 연상 배열을 얻습니다.key
&value
해당 배열의 각 항목으로, 예를 들어 데이터베이스에 다음이 포함된 경우:('first_name', 'Tom'), ('last_name', 'Jeferson')
배열은 다음과 같아야 합니다.array('first_name' => 'Tom', 'last_name' => 'Jeferson');
.
가장 일반적인 방법은 다음과 같습니다.
$settings_flat = $db
->query("SELECT `name`, `value` FROM `settings`;")
->fetchAll(PDO::FETCH_ASSOC);
$settings = array();
foreach ($settings_flat as $setting) {
$settings[$setting['name']] = $setting['value'];
}
*이를 위한 또 다른 방법은 전화를 거는 것입니다.fetchAll(PDO::FETCH_COLUMN)
두 번 이상 사용array_combine
배열을 생성합니다.하지만, 두 번의 통화와 두 번의 데이터베이스가 관련되어 있기 때문에, 저는 이것을 선택사항으로 생략합니다.
다른 방법이 있나요?
귀사의 문제에 대한 해결책은 다음과 같습니다.
$q = $db->query("SELECT `name`, `value` FROM `settings`;");
$r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
포스트그레에서 나를 위해 일합니다.윈도우즈 7 x64에서 실행되는 SQL 9.1 및 PHP 5.3.8.
$query = $db->query("SELECT `name` AS name, `value` AS value FROM `settings`;");
$result = $query->fetchAll(PDO::FETCH_ASSOC);
언급URL : https://stackoverflow.com/questions/7451126/pdo-fetchall-group-key-value-pairs-into-assoc-array
반응형
'itsource' 카테고리의 다른 글
내 테이블만 표시하도록 SQL 개발자를 필터링하는 방법은 무엇입니까? (0) | 2023.08.15 |
---|---|
구조물 변수에 값 할당 (0) | 2023.08.15 |
SQL 쿼리가 너무 오래 걸리는데 다른 방법이 있나요? (0) | 2023.08.15 |
Swift에서 증가된 값으로 배열을 만드는 방법은 무엇입니까? (0) | 2023.08.15 |
도커가 도커 데몬에 연결할 수 없음 (0) | 2023.08.15 |