Como pegar só os valores de array, só keys ou inverter valor e chave no PHP


Salve galera do digital space. Neste post foi mostrar algumas funções legais do PHP para se trabalhar com arrays. Em outras palavras, vou te mostrar como pegar só o valor de um array desconsiderando o índice (keys), como pegar só os keys (chaves) de um array desconsiderando os valores e também como inverter chave e valor de um array.

Como pegar só os valores de array, só keys ou inverter valor e chave no PHP

Pegar só valores de um array

Para obter só os valores de um array, o PHP nos fornece a função array_values. Veja o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
$frutas = array("fruta1" => "Maracujá", "fruta2" => "Manga", "fruta3" => "Goiaba");
 
echo "<pre>";
print_r($frutas);
echo "</pre>";
 
$frutas = array_values($frutas);
 
echo "<pre>";
print_r($frutas);
echo "</pre>";
$frutas = array("fruta1" => "Maracujá", "fruta2" => "Manga", "fruta3" => "Goiaba");

echo "<pre>";
print_r($frutas);
echo "</pre>";

$frutas = array_values($frutas);

echo "<pre>";
print_r($frutas);
echo "</pre>";

A saída será:

Array
(
    [fruta1] => Maracujá
    [fruta2] => Manga
    [fruta3] => Goiaba
)
Array
(
    [0] => Maracujá
    [1] => Manga
    [2] => Goiaba
)

Como você pode ver, os índices (keys) fruta1, fruta2 e fruta3 foram desconsiderados e agora você tem um array com índice 0,1 e 2 com os valores: maracujá, manga e goiaba.

Pegar só keys de um array

Para obter somente os keys (chaves) de um array, o PHP oferece a função array_keys. Veja o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
$frutas = array("fruta1" => "Maracujá", "fruta2" => "Manga", "fruta3" => "Goiaba");
 
echo "<pre>";
print_r($frutas);
echo "</pre>";
 
$frutas = array_keys($frutas);
 
echo "<pre>";
print_r($frutas);
echo "</pre>";
$frutas = array("fruta1" => "Maracujá", "fruta2" => "Manga", "fruta3" => "Goiaba");

echo "<pre>";
print_r($frutas);
echo "</pre>";

$frutas = array_keys($frutas);

echo "<pre>";
print_r($frutas);
echo "</pre>";

A saída será:

Array
(
    [fruta1] => Maracujá
    [fruta2] => Manga
    [fruta3] => Goiaba
)
Array
(
    [0] => fruta1
    [1] => fruta2
    [2] => fruta3
)

Como tu pode ver, os valores: MAracujá, Manga e Goiaba deixaram de existir e você obteve um novo array contendo os keys Fruta1, Fruta2 e Fruta3.

Inverter Valor e Chave de um array

Para inverter o valor em chave e chave em valor de um array, o PHP oferece a função array_flip. Veja o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
$frutas = array("fruta1" => "Maracujá", "fruta2" => "Manga", "fruta3" => "Goiaba");
 
echo "<pre>";
print_r($frutas);
echo "</pre>";
 
$frutas = array_flip($frutas);
 
echo "<pre>";
print_r($frutas);
echo "</pre>";
$frutas = array("fruta1" => "Maracujá", "fruta2" => "Manga", "fruta3" => "Goiaba");

echo "<pre>";
print_r($frutas);
echo "</pre>";

$frutas = array_flip($frutas);

echo "<pre>";
print_r($frutas);
echo "</pre>";

A saída será:

Array
(
    [fruta1] => Maracujá
    [fruta2] => Manga
    [fruta3] => Goiaba
)
Array
(
    [Maracujá] => fruta1
    [Manga] => fruta2
    [Goiaba] => fruta3
)

Como você pode ver, com array_flip, você obteve um array onde chave se transformou em valor e valor em chave. Agora o array posui os índices Maracujá, Manga e Goiaba e os valores: fruta1, fruta2 e fruta3.

Conclusão

Creio que com as dicas e funções mostradas acima, você conseguirá efetuar as inversões desejadas, bem como obter apenas as chaves ou apenas os valores de um dado array no PHP.

Caso você tenha ficado com alguma dúvida, deixe teu comentário abaixo que a gente tenta ajudar.

Fiquem com Deus e até já!

Leave a Reply