Curso de PHP: #16 - Funções para manipulação de Arrays

Curso de PHP: #16 - Funções para manipulação de Arrays

Bem-vindo de volta, escoteiro! Em nosso post anterior nós conhecemos as principais funções para manipulação de string, nativas do PHP. Que tal agora conhecer agora as principais funções para manipulação de Arrays? Vamos nessa?

in_array

A função in_array é uma das mais utilizadas em nosso dia-a-dia e serve para verificar se um determinado valor está contido em um array.

Veja um exemplo:

<?php

$numeros = [2, 4, -1, 0, 6];

var_dump(in_array(4, $numeros));

Como é possível ver, utilizar ela é bem fácil. Como primeiro parâmetro passamos o valor que queremos procurar e como segundo parâmetro o array onde queremos procurar o valor. A função retorna um valor Booleano indicando se o elemento existe ou não.

array_push

A função array_push insere um elemento no final de um determinado array.

Veja um exemplo:

<?php

$numeros = [2, 4, -1, 0, 6];

array_push($numeros, 5);

print_r($numeros);

No exemplo acima inserimos o número 5 no array presente na variável $numeros. Perceba que a função não retorna nenhum valor, ela altera o array que foi passado como parâmetro. Isso se chama passagem por referência.

sort

A função sort serve para ordenar os elementos de um array.

Veja um exemplo:

<?php

$numeros = [2, 4, -1, 0, 6];

sort($numeros);

print_r($numeros);

O resultado será

Array
(
    [0] => -1
    [1] => 0
    [2] => 2
    [3] => 4
    [4] => 6
)

Assim como a função array_push, a função sort também recebe o array por referência, ou seja, o array original será alterado.

É possível ordenar também strings.

<?php

$pessoas = ["Paulo", "Ana", "Carlos", "Bianca", "Xavier"];

sort($pessoas);

print_r($pessoas);

O resultado será

Array
(
    [0] => Ana
    [1] => Bianca
    [2] => Carlos
    [3] => Paulo
    [4] => Xavier
)

is_array

Cuidado, não confunda com a função in_array. A função is_array verifica se um determinado valor é um array.

Veja alguns exemplos:

<?php

$melhorBlog = "Acampamento Dev";
$anoAtual = 2022;
$animaisDomesticos = ["Cachorro", "Gato", "Porquinho da índia"];

var_dump(is_array($melhorBlog));
var_dump(is_array($anoAtual));
var_dump(is_array($animaisDomesticos));

O resultado será

bool(false)
bool(false)
bool(true)

unset

A função unset serve para remover da memória uma determinada variável, então ela não é utilizada apenas para arrays, mas pode tranquilamente ser utilizada para remover elementos de um array.

Veja como é simples utiliza-la:

<?php

$animaisDomesticos = ["Cachorro", "Gato", "Porquinho da índia"];

unset($animaisDomesticos[1]);

print_r($animaisDomesticos);

O resultado será

Array
(
    [0] => Cachorro
    [2] => Porquinho da índia
)

array_diff

A função array_diff retorna a diferença entre arrays, ou seja, se você informar 2 arrays, ela vai retornar os valores que estão em um array mas não estão no outro.

Veja como é simples utiliza-la:

<?php

$alunos = ["Paulo", "Cláudio", "José", "Gabriela", "Bianca"];

$alunosEstudandoTI = ["Paulo", "Cláudio", "Gabriela"];

$alunosQueNaoEstudamTI = array_diff($alunos, $alunosEstudandoTI);

print_r($alunosQueNaoEstudamTI);

O resultado será

Array
(
    [2] => José
    [4] => Bianca
)

array_merge

A função array_merge serve para combinar arrays, ou seja, se você informar 2 arrays, ela retornar um novo array contendo os dados de ambos os arrays informados.

Veja como é simples utiliza-la:

<?php

$alunosDeAdm = ["Vanessa", "Almir", "Adriana", "Matheus"];

$alunosDeTI = ["Paulo", "Cláudio", "Gabriela"];

$todosAlunos = array_merge($alunosDeAdm, $alunosDeTI);

print_r($todosAlunos);

O resultado será

Array
(
    [0] => Vanessa
    [1] => Almir
    [2] => Adriana
    [3] => Matheus
    [4] => Paulo
    [5] => Cláudio
    [6] => Gabriela
)

array_keys

A função array_keys retorna todas as chaves de um array.

Vamos vê-la em funcionamento:

<?php

$funcionarios = [
    "coordenador" => "Barbara", 
    "gerente" => "Almir", 
    "analista" => "Adriana", 
    "estagiario" => "Matheus"
];

print_r(array_keys($funcionarios));

O resultado será

Array
(
    [0] => coordenador
    [1] => gerente
    [2] => analista
    [3] => estagiario
)

Tem muito mais coisa, mas não daria para ficar aqui descrevendo todas porque isso tornaria o post demasiadamente grande. Por sorte a documentação do PHP é bem sugestiva e você sempre pode consultar 🙂.

Desafio

Crie uma função que receba como parâmetro o Array abaixo e retorne EM CAIXA as chaves de todos os funcionários que não sejam "estagiario".

<?php

$funcionarios = [
    "coordenador" => "Barbara", 
    "gerente" => "Almir", 
    "analista" => "Adriana", 
    "estagiario" => "Matheus"
];

A função deve retornar

COORDENADOR, GERENTE, ANALISTA

Dica: Use as funções: unset, array_keys, implode, strtoupper

Bons estudos e até a próxima pequeno escoteiro!