En lugar de intentar piratear su matriz, puede cambiar su consulta para que devuelva un valor de 0 cuando no se vendió ningún producto determinado ese día. Esto debería funcionar:
$query1 = "SELECT date, SUM(CASE WHEN appid = $itemid THEN amount ELSE 0 END) AS amount
FROM app_product_details
WHERE date BETWEEN '2019-05-14 00:00:00' AND '2019-05-20 23:59:59'
GROUP BY date";