Return JSON php TRUE or FALSE

-1

Good morning, I'd like my JSON filtering to look also if what I searched for indicates "true" or "false."

I use this array to search the file:

<?php
session_start();
error_reporting(0);
//função para filtrar os anúncios
function filtroAnuncio($filtro, $dados){

    $nome =  strtolower($dados["nome"]) ;
    $nomeConveniado =  strtolower($filtro["nomeConveniado"]) ;
    if( ($filtro["cidade"] == "" || $filtro["cidade"] == $dados["cidade"]) &&
        ($filtro["servico"] == "" || $filtro["servico"] == $dados["servicos"]) &&
        ($filtro["especialidade"] == "" || $filtro["especialidade"] == $dados["especialidade"]) &&
        ($filtro["nomeConveniado"] == "" || strrpos($nome, $nomeConveniado) !== false )
    ) {
        return true;
    }
        return false;
}
    $conveniados = array();
    $destaques = array();
    $servicos = array();
    $locais = array();
    $especialidades = array();
    // necessário utilização de cache
    if(empty(@$_SESSION["convs"])){
        $convs = json_decode(file_get_contents('#'));
        $_SESSION["convs"] = $convs;
    }
    $convs = $_SESSION["convs"];
    foreach($convs as $conv){
        $info = array();
        $info["nome"] = $conv->nmConveniado;
        $info["categoria"] = $conv->listaEspecialidade[0]->nmEspecialidade;
        $especialidades[] = $conv->listaEspecialidade[0]->nmEspecialidade;
        //estava faltando adicionar campo especilidade
        $info["especialidade"] = $conv->listaEspecialidade[0]->nmEspecialidade;


        $info["endereco"] = $conv->listaEndereco[0]->nmLogradouro;
        $info["bairro"] = @$conv->listaEndereco[0]->nmBairro;
        $info["cidade"] = $conv->listaEndereco[0]->nmCidade;
        $info["telefone"] = $conv->dsTelefone1;
        $locais[] = $conv->listaEndereco[0]->nmCidade;
        $info["estado"] = $conv->listaEndereco[0]->sgEstado;
        $servicos_str = '';
        $k=0;
        foreach($conv->listaServico as $serv_str){
            $k++;
            $servicos[] = $serv_str->nmServico;
            if($k==count($conv->listaServico)){
                $servicos_str .= $serv_str->nmServico;
            } else {
                $servicos_str .= $serv_str->nmServico.', ';
            }
        }
        $info["servicos"] = $servicos_str;
        //adicionado informação de destaque no array
        $info["flDestaqueSite"] =$conv->flDestaqueSite;
        $info["imagem"] = $conv->listaImagem[0]->nmArquivo;
        $conveniados[] = $info;
        if($conv->flDestaqueSite){
            $destaques[] = $info;
        }
    }
    $_especialidades = array_unique($especialidades);
    $_servicos = array_unique($servicos);
    $_locais = array_unique($locais);
    asort($_especialidades);
    asort($_servicos);
    asort($_locais);
    ?>

But I would like to add a true, because in the JSON file it displays this way when the name has to appear:

"flDestaqueSite": "True"

This is the display code:

<!-- Lista -->
<?php $d=0; ?>
<!--<?php shuffle($destaques); ?>-->
<?php

usort($destaques, function($a, $b){
    if($a["flDestaqueSite"] ==  $b["flDestaqueSite"] ) return 0;
    return ($a["flDestaqueSite"] < $b["flDestaqueSite"] ) ? 1 : -1;
});

foreach($destaques as $destaque){ ?>
    <?php
    //filtra os anúncio que não corresponde aos criterios
    if(filtroAnuncio($_POST, $destaque)==false) continue;

    $d++;
    if($d<=5)

    {
    ?>
        <div class="col-lg-12 col-md-12" local="<?php echo $destaques["cidade"]; ?>">
            <div class="listing-item-container list-layout">
                <a href="#conteudo" class="listing-item">
                    <!-- Imagem -->
                    <div class="listing-item-image">
                        <?php if($destaque["imagem"] != ''){ ?>
                            <img data-cfsrc="<?php echo $destaque["imagem"]; ?>" alt="<?php echo $destaque["nome"]; ?>" style="display:none;visibility:hidden;"><noscript><img src="<?php echo $destaque["imagem"]; ?>" alt="<?php echo $destaque["nome"]; ?>"></noscript>
                        <?php } else { ?>
                            <img data-cfsrc="images/sem-imagem.jpg" alt="<?php echo $destaque["nome"]; ?>" style="display:none;visibility:hidden;"><noscript><img src="images/sem-imagem.jpg" alt="<?php echo $destaque["nome"]; ?>"></noscript>
                        <?php } ?>
                        <span class="tag"><?php echo $destaque["categoria"]; ?></span>
                    </div>

                    <!-- Conteúdo -->
                    <div class="listing-item-content">
                        <div class="listing-badge anunciante">Anunciante</div>
                        <div class="listing-item-inner">
                            <h3><?php echo $destaque["nome"]; ?> <i class="verified-icon"></i></h3>
                            <span><?php echo $destaque["telefone"]; ?></span></br>
                            <span><?php echo $destaque["endereco"]; ?>, <?php echo $destaque["bairro"]; ?>, <?php echo $destaque["cidade"]; ?> - <?php echo $destaque["estado"]; ?></span>
                        </div>
                    </div>
                </a>
            </div>
        </div>
    <?php } ?>
<?php }          ?>
    
asked by anonymous 30.07.2018 / 16:39

2 answers

0

It is not very clear what you want, but if I understand correctly you can try to do this, so the value of $info["flDestaqueSite"] will be a string, true or false.

$info["flDestaqueSite"] = $conv->flDestaqueSite ? 'true' : 'false';

This if $conv->flDestaqueSite is returning a Boolean.

Test there and see if it works.

    
30.07.2018 / 16:45
0

I got it, put it this way:

$destaques = array_filter($destaques,function($value){
    return $value['flDestaqueSite']==='True';
});

It's working perfectly for now. Thank you all for your attention!

    
31.07.2018 / 19:18