나는 다음과 같은 코드가 있습니다 여기에변수로 다차원 배열의 값을 저장
$res = $db->getArticles($db);
$hey = print_r($res, TRUE);
echo $hey['0'];
이 $db->getArticles
코드입니다 :
public function getArticles() {
$array = array();
try {
$sth = $this->db->prepare("SELECT * FROM posts ORDER BY id");
$sth->execute();
foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $row) {
$array[] = $row;
}
return $array;
} catch (Exception $e) {
}
}
논리는 함수가 데이터베이스에 쿼리에 모든 것을두고 있다는 것입니다 배열. 테이블의 행 수는 항상 매우 낮으므로 성능에는 문제가 없습니다.
다음은 위의 첫 번째 코드의 출력이다. "배열"
echo $hey['0']; // prints "A" (without the quotes).
echo $hey['1']; // prints "r"
echo $hey['2']; // prints "r"
echo $hey['3']; // prints "a"
echo $hey['4']; // prints "y"
당신이 볼 수 있듯이, 그것은 단어를 철자
echo $hey
는 다음을 인쇄 :
Array ([0] => Array ([id] => 1 [author] => 0 [content] => This Is a Test [publication_date] => 1380380992))
내 최종 목표는 변수에 각각의 값을 저장하고 그것으로 뭔가를 할 것입니다. 이것은 모든 배열에서 실행되는 for 루프 내에서 발생하므로 각 행에서 정보를 얻을 수 있습니다.
내가 뭘 잘못하고 있니?
이 ['print_r']이 (http://php.net/manual/en/function.print-r.php)이 단지 배열을 자세히 설명하는 문자열을 인쇄는'TRUE '옵션은 대신 문자열을 반환 그것을 직접 인쇄하는 것. 실제 데이터 배열을 변수 –