이 작업을 수행하는 데 최악의 시간이 있습니다. 다음 코드에서는 데이터베이스 쿼리에서 데이터를 수집하고 합계를 유지하고 특정 정보를 몇 가지 방법으로 집계하는 다차원 배열 객체를 작성하려고합니다. 문제는 그것이해야하는대로 증가하는 값을 얻는 대신 문제가 할당 된 마지막 값으로 인해 값이 손상된 것 같습니다. 코드는 다음과 같습니다.PHP 배열을 즉시 작성하십시오.
$REVIEWS = array();
$USER_REVIEWS = array();
$USER_IMGREVS = array();
pseudo-code: loop here which iterates over the DB results creating
$date - which is into this function as its called for each day of month
$p1user - which is one of the users (there are 3) 'levels' of users
$hr - is the hour which is built from the transaction's timestamp
$hr = date('H', $row['P1TIMESTAMP']);
$p1user = $row['P1USER'];
$REVIEWS[$date] += 1;
$USER_REVIEWS[$date][$p1user][$hr] += 1;
$USER_IMGREVS[$date][$p1user][$hr] += $row['F5'];
print "PASS1<br/>\n";
print "Value of Total Reviews: [".$REVIEWS[$date]."]<br/>\n";
print "Value of User Reviews: [".$USER_REVIEWS[$date][$p1user][$hr]."]<br/>\n";
print "Value of Reviewed Images: [".$USER_IMGREVS[$date][$p1user][$hr]."]<br/>\n";
print "<br/><br/>\n";
따라서 전체 인쇄본을 인쇄 할 때마다 '전체 리뷰'가 1 씩 증가합니다. 여태까지는 그런대로 잘됐다. 다음 두 배열은 할당 된 마지막 값만 인쇄하고 함께 추가되지 않습니다. 왜 안돼? 문자 그대로 하나씩 배열을 만들고 그 배열을 포함하는 배열에 전체적으로 할당함으로써 또 다른 방법을 시도했습니다. 그러나 이것도 작동하지 않습니다. 어떤 통찰력?
배열의 다른 부분이 생성되는 위의 코드를 더 이상 사용할 수 있습니까? – ctcherry
배열의'print_r'을 수행하고 그 구조를 살펴 봅니다. –
더 많은 코드를 제공해 주시겠습니까? 어디 배열을 initilize, 당신은 데이터를 수집하는 루프 ... –