Filter an array of objects according to field

0

Doing this:

$total_tipo = $this->chamado->contagem('tipo');

        foreach ($total_tipo as $total_tip){

            print_r($total_tip);
        }

I'm getting this result

stdClass Object
(
    [tipo] => 1
    [quantidade] => 85
)
stdClass Object
(
    [tipo] => 2
    [quantidade] => 492
)
stdClass Object
(
    [tipo] => 3
    [quantidade] => 147
)
stdClass Object
(
    [tipo] => 4
    [quantidade] => 1
)

But what I want is to display the quantity of a single type, for example:

stdClass Object
(
    [tipo] => 1
    [quantidade] => 85
)

in this case it would only display 85

To display all quantities I do this

foreach ($total_tipo as $total_tip => $value){

                print_r($value->quantidade); 

        }

854911471

I can not separate so that only the quantity of type 1

    
asked by anonymous 17.10.2018 / 16:06

1 answer

0

Just use the array_filter function to filter through the records you want.

// Busca-se todos os registros
$total_tipo = $this->chamado->contagem('tipo');

// Filtra os do tipo 1
$tipo_1 = array_filter($total_tipo, function ($it) { return $it->tipo == 1; }); 

// Exibe apenas os registros de tipo 1
foreach ($tipo_1 as $value) {
    echo $value->quantidade;
}
    
17.10.2018 / 16:11