Uso da função de uso em php

Uso da função de uso em php
Muitas funções internas existem no PHP para classificar as variáveis ​​de matriz. a função USORT () é uma delas. Esta função classifica a matriz usando uma função de retorno de chamada definida pelo usuário. Quando a matriz contém um tipo específico de dados que não podem ser classificados de maneira padrão usando outras funções de classificação, então USORT () é melhor usar. Por exemplo, se a matriz contiver valores de dados, a variedade não poderá ser classificada adequadamente usando outras funções de classificação de PHP. Esse tipo de coleção pode ser classificado definindo a função adequada definida pelo usuário chamada no segundo argumento da função usort () como a função USORT () pode classificar os valores específicos da matriz mostrados neste tutorial.

Sintaxe:

A sintaxe da função usort () é dada abaixo.

Boolean USORT (Array $ Array, Retorno de chamada ())

Esta função tem dois argumentos. Ambos os argumentos são obrigatórios. O primeiro argumento leva a matriz que será classificada. A função de retorno de chamada () compara os valores da matriz para classificar a matriz e retorna um valor numérico. Se os argumentos da função de retorno de chamada () forem iguais, a função retornará 0. Se o primeiro argumento da função de retorno de chamada () for maior que o segundo argumento, ela retornará 1. Se o primeiro argumento da função de retorno de chamada () for menor que o segundo argumento, ela retorna -1. A função USORT () retorna true para classificação bem -sucedida e retorna falsa para o tipo malsucedido. Alguns usos dessa função mostraram na próxima parte deste tutorial.

Exemplo 1: classifique uma matriz de valores de data

O exemplo a seguir mostra como uma matriz de valores de data pode ser classificada corretamente usando a função USORT (). Crie um arquivo php com o seguinte script. $ date_array é definido com valores de cinco datas. Sort_date () A função é declarada como função de retorno de chamada para classificar o $ date_array. Os valores da matriz são impressos antes de chamar a função USORT (). Quando a função usort () é chamada com a matriz e a função de retorno de chamada, ela converterá dois valores de data em valores de data e hora usando a função strTotime (). Se os dois valores de data e hora forem iguais, a função retornará 0. Se o primeiro valor de timestamp for maior que o segundo valor de timestamp, a função retornará 1. Se o primeiro valor de timestamp for menor que o segundo valor de timestamp, a função retornará -1. A função USORT () chamará a função de retorno de chamada várias vezes até que o $ date_array é classificado corretamente. Em seguida, a matriz classificada será impressa usando o para cada um laço.

// Defina a função de retorno de chamada
function Sort_date ($ a, $ b)
retornar strtotime ($ a) - strtotime ($ b);

// Declare a matriz de valores de data
$ date_array = Array ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Imprima os valores da matriz antes de classificar
eco "

Os valores da matriz de data:

";
foreach ($ date_array como $ valor)

eco $ valor."
";

// Classifique a matriz usando USORT ()
USORT ($ DATE_ARRAY, "Sort_date");
// Imprima a matriz depois de classificar
eco "

A saída após a matriz de data da data:

";
foreach ($ date_array como $ valor)

eco $ valor."
";

?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor.

Exemplo-2: classifique uma matriz associativa

O exemplo a seguir mostra como uma matriz associativa pode ser classificada usando a função USORT (). Crie um arquivo php com o seguinte script. Sort_Names () A função é declarada uma função de retorno de chamada para classificar a matriz com base nos valores da matriz. O operador ternário é usado no Sort_Names () função para comparar os valores da matriz associativa. Se os dois valores forem iguais, a função de retorno de chamada retornará 0. Se o primeiro valor do argumento for maior que o segundo valor de argumento, a função de retorno de chamada retornará 1. Se o primeiro valor de argumento for menor que o segundo valor de argumento, a função de retorno de chamada retornará -1. USORT () classificará a matriz usando a função de retorno de chamada, e a matriz classificada será impressa usando o para cada um laço.

// Defina a função para classificar a matriz associativa
function Sort_names ($ a, $ b)
retornar $ a == $ b ? 0: $ a> $ b ? 1: -1;

// Defina a matriz associativa
$ PESSONS = Array ("1001" => "Meera Ali", "1002" => "Kabir Hossain", "1003" => "Nurjahan Akter");
// Classifique a matriz
USORT ($ PESSONS, "Sort_Names");
// Imprima a matriz classificada
eco "Os valores da matriz classificada:
";
foreach ($ pessoas como $ pessoa)
eco $ pessoa. "
";
?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor.

Exemplo 3: Classifique uma matriz bidimensional

O exemplo a seguir mostra como uma matriz bidimensional pode ser classificada usando a função USORT (). Crie um arquivo php com o seguinte script. sort_array () A função é declarada uma função de retorno de chamada para classificar a matriz com base nos valores da matriz. A função strcmp () é usada na função de retorno de chamada para comparar os valores da matriz. Se os dois valores forem iguais, a função strcmp () retornará 0. Se o primeiro valor de argumento for maior que o segundo valor de argumento, a função strcmp () retornará 1. Se o primeiro valor do argumento for menor que o segundo valor de argumento, a função strcmp () retornará -1. USORT () classificará a matriz usando a função de retorno de chamada, e a estrutura da matriz classificada será impressa usando o print_r () função.

// Defina a função para classificar a matriz bidimensional
function Sort_array ($ a, $ b)

retornar strcmp ($ a ['a'], $ b ['a']);

// declara a matriz bilimente
$ animais = Array (Array ("A" => "Leão"), Array ("A" => "Deer"), Array ("A" => "Rabbit"), Array ("A" => "Monkey "));
// Classifique a matriz
USORT ($ Animals, "Sort_array");
// Imprima a matriz classificada
eco "Os valores da matriz após USORT ():
";
print_r ($ animais);
eco "
";
?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor.

Conclusão:

USORT () é uma função útil para classificar tipos específicos de dados que não podem classificar corretamente as funções de classificação normais do PHP. A função de retorno de chamada da função da função é definida com base nos tipos de valores necessários para classificar. Este tutorial ajudará os leitores a saber como usar a função USORT () e a aplicá -lo em seu script com base no requisito.