For dentro de Foreach
Faço uma consulta no banco para buscar uma lista de horários, depois preciso comparar esse resultado com um array só de horários que eu possuo. Utilizei o código abaixo pra isso:
//dados do array $h_indisponiveis separados por _ (ilustrativo) 13:20:00_13:40:00_14:00:00_14:20:00_18:40:00_19:00:00_21:20:00
$sql = "MINHA CONSULTA";
$sql=$pdo->query($sql);
if ($sql->rowCount() > 0) {
$result = array('error'=>false, 'data' => array());
foreach ($sql as $row) {
$horario['id'] = $row['id'];
$horario['hora'] = $row['hora'];
$horario['tempo'] = $row['tempo'];
for($i=0; $i<$sizeArray; $i++){
if ($h_indisponiveis[$i] == $row['hora']){
$horario['disponivel'] = 'n';
} else {
$horario['disponivel'] = 's';
}
}
array_push($result['data'], $horario);
}
echo json_encode($result);
}
O problema é que ele não está retornando todas as correspondências entre o objeto da consulta e o array, apenas a última. Ao invés de marcar 6 resultados como "disponivel = n", ele só marca um. Como posso corrigir

Discussão (0)
Carregando comentários...