PHP uasort

Resumo : neste tutorial, você aprenderá como usar a uasort()função PHP para classificar um array associativo.

Introdução à função PHP uasort()

A uasort()função classifica os elementos de uma matriz associativa com uma função de comparação definida pelo usuário e mantém a associação do índice.

O seguinte mostra a sintaxe da uasort()função:

uasort(array &$array, callable $callback): boolLinguagem de código:  PHP  ( php )

A uasort()função possui dois parâmetros:

  • $arrayé a matriz de entrada.
  • $callbacké a função de comparação definida pelo usuário.

A uasort()função retorna trueem caso de sucesso ou falsefalha.

A $callbackfunção aceita dois parâmetros:

callback(mixed $x, mixed $y): intLinguagem de código:  PHP  ( php )

A $callbackfunção retorna um número inteiro. O valor retornado pode ser um número negativo, zero e um número positivo, indicando que $xé menor que, igual a e maior que $y, respectivamente.

Função PHP uasort()

O exemplo a seguir usa a uasort()função para classificar uma matriz associativa:

<?php

$countries = [
    'China' => ['gdp' => 12.238 , 'gdp_growth' => 6.9],
    'Germany' => ['gdp' => 3.693 , 'gdp_growth' => 2.22 ],
    'Japan' => ['gdp' => 4.872 , 'gdp_growth' => 1.71 ],
    'USA' => ['gdp' => 19.485, 'gdp_growth' => 2.27 ],
];

// sort the country by GDP
uasort($countries, function ($x, $y) {
    return $x['gdp'] <=> $y['gdp'];
});

// show the array
foreach ($countries as $name => $stat) {
    echo "$name has a GDP of {$stat['gdp']} trillion USD with a GDP growth rate of {$stat['gdp_growth']}%" . '<br>';
}Linguagem de código:  PHP  ( php )

Saída:

Germany has a GDP of 3.693 trillion USD with a GDP growth rate of 2.22%
Japan has a GDP of 4.872 trillion USD with a GDP growth rate of 1.71%  
China has a GDP of 12.238 trillion USD with a GDP growth rate of 6.9%  
USA has a GDP of 19.485 trillion USD with a GDP growth rate of 2.27%   Linguagem de código:  texto simples  ( texto simples )

Como funciona.

  • Primeiro, defina uma série de países com as informações do PIB. A chave de cada elemento é o nome do país. E o valor de cada elemento é uma matriz que contém o PIB e o crescimento do PIB.
  • Segundo, classifique a $countriesmatriz por PIB em ordem crescente.

Resumo

  • Use a uasort()função para classificar uma matriz associativa com uma função de comparação definida pelo usuário e manter a associação do índice.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *