Ordernar Array no PHP

Para ordenar array php, você deve utilizar uma das funções abaixo. Para cada situação existe uma função disponível.

Veja a lista de funções disponíveis:

  • ksort() – Ordenar um array pelas chaves
  • krsort() – Organizar um array pelas chaves em ordem descrescente
  • asort() – Alterar um array mantendo a associação entre índices e valores
  • arsort() – Ordernar um array em ordem descrescente mantendo a associação entre índices e valores
  • uksort() – Ajusta um array pelas chaves utilizando uma função de comparação definida pelo usuário
  • sort() – Os elementos serão ordenados do menor para o maior ao final da execução dessa função.
  • natsort() – Modifica o array utilizando o algoritmo da “ordem natural”
  • rsort() – Altera a ordem de um array em descrescente

ksort

A função ksort() é responsável por ordenar um array pelas chaves:

<?php

$palavras = array("d"=>"Dicas", "a"=>"PHP", "b" =>"Tutorial", "c"=>"Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [d] => Dicas [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP )

ksort( $palavras ); // Ordenando um array pela chave

print_r( $palavras ); // Array depois da função ( [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP [d] => Dicas )

?>

Para ordenar os índices de forma decrescente, utilize a função krsort().

sort

A função asort() ordena um array mantendo a associação entre índices e valores, mas a ordeneção é feita pelos valores e não índices:

<?php

$palavras = array("b" =>"Tutorial", "d"=>"Dicas", "a"=>"PHP", "c"=>"Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [b] => Tutorial [d] => Dicas [a] => PHP [c][/c] => Tutorial de PHP )

asort( $palavras ); // Ordenando um array pela chave

print_r( $palavras ); // Array depois da função ( [d] => Dicas [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP )

?>

Para ordenar os valores de forma decrescente, utilize a função arsort(). Com isso os índices serão mantidos e apenas alterados a ordenação dos valores para decrescente.

uksort

A função uksort() ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário:

<?php

function ordena( $a, $b ) {
    $a = ereg_replace('^(a|an|the) ', '', $a);
    $b = ereg_replace('^(a|an|the) ', '', $b);
    return strcasecmp($a, $b);
}

$palavras = array("b" =>"Tutorial", "d"=>"Dicas", "a"=>"PHP", "c"=>"Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [b] => Tutorial [d] => Dicas [a] => PHP [c][/c] => Tutorial de PHP )

uksort( $palavras, "ordena" ); // Ordenando um array com uma função definida pelo usuário

print_r( $palavras ); // Array depois da função ( [d] => Dicas [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP )

?>

sort

A função sort() ordena um array:

<?php

$palavras = array("Tutorial", "Dicas", "PHP", "Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [0] => Tutorial [1] => Dicas [2] => PHP [3] => Tutorial de PHP )

sort( $palavras ); // A ordenação será por ordem alfabética.

print_r( $palavras ); // Array depois da função ( [0] => Dicas [1] => PHP [2] => Tutorial [3] => Tutorial de PHP )

?>

Para ordenação decrescente, utilize a função rsort().

natsort

A função natsort() ordena um array utilizando o algoritmo da “ordem natural“:

<?php

$palavras = $videos = array("img12.png", "img10.png", "img2.png", "img1.png");

print_r( $palavras ); // Array antes da função ( [0] => img12.png [1] => img10.png [2] => img2.png [3] => img1.png ) 

natsort( $videos ); // A ordenação será por ordem alfabética.

print_r( $videos ); // Array depois da função ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png )

?>

Dúvidas deixe nos comentário!

Explode PHP: Utilizando a função no PHP

Para dividir uma string em um array, você pode usar a função explode PHP. Nas versões anteriores do PHP, essa ação era executada pela função split, que hoje encontra-se OBSOLETA na versão 5.3.0 e foi removida do PHP 7.0.

Função Explode no PHP

A função explode no php é responsável por encontrar todas as ocorrências de um símbolo na string e quebrar em vários pedaços, removendo esse símbolo.

Para usar a função explode, é simples, veja o exemplo abaixo.:

// Vamos separar a string em todas as ocorrências de ponto virgula; na string
$string = 'Dicas de PHP;PHP;Dicas;Tutorial PHP;Tutorial';

// salvamos a ação do explode na variável $explode
$explode = explode(';', $string);

// o explode retorna uma matriz
print_r($explode);
 
// Output: Array ( [0] => Dicas de PHP [1] => PHP [2] => Dicas [3] => Tutorial PHP [4] => Tutorial )

No último parâmetro ainda é possível passar um limitador de itens a retornar. Veja o resultado abaixo após o limitador na função:

Array ( [0] => Dicas de PHP [1] => PHP;Dicas;Tutorial PHP;Tutorial )

Como você pode ver no resultado acima, o explode só foi executado até o segundo item da matriz, retornando nele mesmo o restante da string.

Uma boa utilização do explode é leitura de arquivos .csv, onde poderá definir em cada linha, em qual delimitador irá separar os valores.

Escrevendo PHP dentro de arquivos Javascript

É possível rodar comandos PHP dentro de arquivos Javascript. Isso pode ajudar em alguma função onde é necessário ter algum dado de arquivo de  configurável ou conexão com banco de dados.

Para o funcionando desses códigos PHP, é necessário acrescentar algumas linhas de código no seu arquivo .htaccess do apache. Esses códigos serão responsáveis por acrescentar no servidor a possibilidade de arquivos com a extensão .js rodarem comandos PHP.

Veja os comandos abaixo que devem ser acrescentados ao .htaccess:

AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js

<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

Após acrescentar os comandos acima, teste em algum arquivo javascript, colocando o código abaixo, por exemplo:

<?php echo "Rodando PHP dentro de Arquivo JS"; ?>

Abaixo você pode baixar um arquivo .zip com exemplo do código acima:

php_dentro_js.zip

Forçando a exibição de páginas em UTF8

Uma dica interessante para quem tem problema com acentuação no PHP, é utilizar o código abaixo para forçar o servidor a usar uma codificação nas páginas.

<?php
    ini_set('default_charset','UTF-8');
?>

Com esse código sendo executado por primeiro no projeto, normalmente no index.php, ele sobrescreverá qualquer configuração do servidor que possa estar influenciando em problemas de codificação do projeto.

move_uploaded_file: Utilizando a função de upload do PHP

Neste post iremos mostrar como funciona a função move_uploaded_file do PHP. Esta função é responsável por realizar o upload de arquivos, principalmente através de formulários.

Em sua descrição no manual do php.net, ela é descrita como uma função que move um arquivo enviado para uma nova localização. Esse envio é realizado pelos 2 parâmetros que a função recebe.

O primeiro é responsável por pegar o arquivo que foi enviado e o segundo é responsável por encaminhar o novo nome e caminho de destino do arquivo no servidor.

Exemplo de uso da função move_uploaded_file

Veja o exemplo abaixo:

move_uploaded_file ( string $arquivo , string $novoDestino );

Para mais detalhes do funcionando do upload, você pode baixar o arquivo no link abaixo, onde há um exemplo de implementação da função.

Upload de Arquivos – PHP