Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

233
Visualizações
PHP find object has highest value in array

I'm looking for shortest way to find the object which contains highest sort value.

array(5) {
  [0]=>
  object(stdClass)#212 (3) {
    ["id"]=>
    int(1)
    ["display_name"]=>
    string(8) "Activate"
    ["sort"]=>
    int(1)
  }
  [1]=>
  object(stdClass)#213 (3) {
    ["id"]=>
    int(2)
    ["display_name"]=>
    string(7) "Cutting"
    ["sort"]=>
    int(2)
  }
  [2]=>
  object(stdClass)#214 (3) {
    ["id"]=>
    int(3)
    ["display_name"]=>
    string(6) "Sewing"
    ["sort"]=>
    int(3)
  }
  [3]=>
  object(stdClass)#215 (3) {
    ["id"]=>
    int(4)
    ["display_name"]=>
    string(9) "Finishing"
    ["sort"]=>
    int(4)
  }
  [4]=>
  object(stdClass)#216 (3) {
    ["id"]=>
    int(5)
    ["display_name"]=>
    string(10) "Deactivate"
    ["sort"]=>
    int(5)
  }
}

Below is my practicing but I think it is complex and long of code.

// $gateways is the array contains a list of objects.

// find max sort value in array first
$max = max( array_map(function( $row ){ return $row->sort; }, $gateways) );

// then find in array object with sort value is equal to $max value
$filter = array_filter($gateways, function($row) use ($max){ 
  return $max == $row->sort;
});

if(count($filter)){
  $finalResult = array_shift($filter);
}

Is there shorter way to do this like reduce in Javascript?

Thanks.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Finally I did it.

$result = array_reduce($gateways, function($a, $b){
  return $a ? ($a->sort > $b->sort ? $a : $b) : $b;
});
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda