Função PHP array_multisort()
Exemplo
Retorna um array classificado em ordem crescente:
<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
?>
Definição e uso
A função array_multisort() retorna um array ordenado. Você pode atribuir uma ou mais matrizes. A função ordena o primeiro array e os outros arrays seguem, então, se dois ou mais valores forem iguais, ela ordena o próximo array e assim por diante.
Nota: As chaves de string serão mantidas, mas as chaves numéricas serão reindexadas, começando em 0 e aumentando em 1.
Nota: Você pode atribuir os parâmetros sortorder e sorttype após cada array. Se não for especificado, cada parâmetro de matriz usa os valores padrão.
Sintaxe
array_multisort(array1, sortorder, sorttype, array2, array3, ...)
Valores de parâmetro
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
sortorder | Optional. Specifies the sorting order. Possible values:
|
sorttype | Optional. Specifies the type to use, when comparing elements. Possible values:
|
array2 | Optional. Specifies an array |
array3 | Optional. Specifies an array |
Detalhes técnicos
Valor de retorno: | Retorna TRUE em caso de sucesso ou FALSE em caso de falha |
---|---|
Versão do PHP: | 4+ |
Registro de alterações do PHP: | PHP 5.4: Adicionado tipo de classificação SORT_NATURAL e SORT_FLAG_CASE PHP 5.3: Adicionado tipo de classificação SORT_LOCALE_STRING |
Mais exemplos
Exemplo
Retorna um array classificado em ordem crescente:
<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>
Exemplo
Veja como ele classifica quando dois valores são iguais:
<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>
Exemplo
Usando parâmetros de classificação:
<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);
print_r($a1);
print_r($a2);
?>
Exemplo
Mescle dois arrays e classifique-os como números, em ordem decrescente:
<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>
❮ Referência de array PHP