Array vindo do input text com valores em branco, como listar apenas os que possuem valores

2 respostas Resolvido
laravelmysqlphp
murillo_smit

Boa noite!

Estou querendo listar apenas os dados com valores de um array que vem de um form com input text.
segue a estrutura.
os campos do form:
Horário:

<label for="">Horário:</label>
<input type="time" name="hora[]" value="" class="form-control">
 <label for="">Horário:</label>
<input type="time" name="hora[]" value="" class="form-control">
 <label for="">Horário:</label>
<input type="time" name="hora[]" value="" class="form-control">

Eu quero pegar apenas os inputs que possuam valores, os inputs sem valores quero q não apareça no array, segue o debug;
input

Esse campos em branco quero q não apareça! alguem para me ajudar?

2 Respostas

rodevops
Solucao aceita

Vai ter de aplicar no mínimo um filtro:

$horasPreenchidas = array_filter($_POST['hora'], function($inputAtual) {
    return !empty($inputAtual);
});

Mais na doc: http://php.net/manual/pt_BR/function.array-filter.php

Para fins de comparação, seria o mesmo que fazer isso:

$horasPreenchidas = [];
foreach ($_POST['hora'] as $inputAtual) {
    if (!empty($inputAtual)) {
         $horasPreenchidas[] = $inputAtual;
    }
}

Vc escolhe, vai brincando e seja feliz, Sucesso!

murillo_smit

Show de bola, Muito obg!

Criado 24 de outubro de 2018
Ultima resposta 24 de out. de 2018
Respostas 2
Participantes 2