从其他数组创建数组

I'm pulling data from a table in two different queries, and I am trying to compare the date field from both results. When the date is equal I want to add the two ending balances from each query together and put the results into a new array. The problem I am having is on line 59, The error I get is Notice: Undefined offset.

This is what I have:

 include "../sqlConnect.php";

 mysqli_set_charset($dbScrap, 'utf8');
 $dataArray[] = array();
$dateArray[] = array();
$balanceArray[] = array();

//Smaller
$query = "SELECT Account, Date ,SUM(EndingBalance) AS 'Month_Total' FROM gl_period_posting_history
    INNER JOIN gl_account
      ON gl_period_posting_history.AccountKey = gl_account.AccountKey
  Where gl_account.Account= '5010-15-0000' AND  FiscalYear > 2012
  GROUP BY Account, Date";

$result = mysqli_query( $dbScrap, $query) or die("SQL Error 1: " . 
mysqli_error($dbScrap));
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){

$EndingBalance15 = $row['Month_Total'];
$Date15 = $row['Date'];

$dateArray[] = array(
    'Date' => $Date15
);

$balanceArray[] = array(
    'EndingBalance' => $EndingBalance15
);


}


\\Bigger
    $query1 = "SELECT Account, Date ,SUM(EndingBalance) AS 'Month_Total' FROM gl_period_posting_history
    INNER JOIN gl_account
      ON gl_period_posting_history.AccountKey = gl_account.AccountKey
  Where gl_account.Account ='5010-08-0000' AND  FiscalYear > 2012
  GROUP BY Account, Date";

 $result = mysqli_query( $dbScrap,$query1) or die("SQL Error 1: " . mysqli_error($dbScrap));
 while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){

$Date08 = $row['Date'];
$EndingBalance08 = $row['Month_Total'];

for($i = 0; $i < $dateArray; $i++){
        if($Date08 == $dateArray[$i]) {
            $message = "Date Equal";
            $EndingBalance = $EndingBalance08 + $balanceArray[$i];
            $Date = $Date08;
        }else{
            $message = "Date Not Equal";
            $Date = $Date08;
            $EndingBalance = $EndingBalance08;
        }
    }
    $dataArray[] = array(

        'EndingBalance' => $EndingBalance,
        'Date' => $Date,
        'Message' => $message
    );
 }
 echo "<pre>";
 print_r($dataArray);
 //echo json_encode($dataArray);
 echo "</pre>";

 $result->close();
 /* close connection */
 $dbScrap->close();

Thank you for your help.

In the loop where you fetch results from your first query, use the date from each row as the key in $balanceArray, like this:

while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
    $EndingBalance15 = $row['Month_Total'];
    $Date15 = $row['Date'];

    $balanceArray[$Date15] = $EndingBalance15;
}

Then in the loop where you fetch results from your second query, you can use isset to check if that date exists in the results from the first query, like this.

while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {

    $Date08 = $row['Date'];
    $EndingBalance08 = $row['Month_Total'];

    if (isset($balanceArray[$Date08])) {
        $message = "Date Equal";
        $EndingBalance = $EndingBalance08 + $balanceArray[$Date08];
    } else {
        $message = "Date Not Equal";
        $EndingBalance = $EndingBalance08;
    }
    $dataArray[] = array(
        'EndingBalance' => $EndingBalance,
        'Date' => $Date08,
        'Message' => $message
    );
}

The problem is in for loop, correction:

for ($i = 0; $i < count($dateArray); $i++){