Os arrays em PHP são mapas ordenados.
Um mapa é uma estrutura de dados que associa uma chave a um valor.
Os arrays são versáteis e podem ser tratados como um array linear (como em C ou Java), uma lista [vetor], uma tabela de hash, um dicionário, uma coleção, uma pilha ou uma fila.
Uma chave é opcional, mas, se for indicada, tem de ser um int ou uma string.
Quando não é indicada uma chave, o PHP usa, por omissão, chaves inteiras por ordem crescente, a começar em 0.
$no_keys = ["my", "first", "array"];
$integer_keys = [0 => "my", 1 => "first", 2 => "array"];
$no_keys == $integer_keys // => equal returns true
$no_keys === $integer_keys // => strictly equal returns true
Um array pode armazenar valores de todos os tipos. Cada valor pode ter um tipo diferente.
Os arrays podem ser declarados como um literal (escrito no código, como acima) ou criados e manipulados com funções. Acede, atribui e acrescenta valores com o operador de índice:
$prime_numbers = [2, 3, 5, 6];
$prime_numbers[3] = 7; // replace 6 with 7
$prime_numbers[] = 11; // array now contains [2, 3, 5, 7, 11]
É possível definir os argumentos de uma função de modo a que ela aceite qualquer número de argumentos:
<?php
function actOnItems(...$items) {
// $items is an array containing 0 or more values
// used to call the function.
}
actOnItems(1, 2, 3, 4); // $items => [1, 2, 3, 4]
Neste exercício tens de implementar algumas funções para manipular uma lista de linguagens de programação.
Define a função language_list, que não recebe argumentos e devolve uma lista vazia.
<?php
language_list();
// => []
Modifica a função language_list para que receba um argumento variádico de linguagens (strings).
Deve devolver a lista resultante com as linguagens na lista.
<?php
$language_list = language_list();
// => []
$language_list = language_list("Clojure", "PHP");
// => ["Clojure", "PHP"]
$language_list = language_list("PHP", "Haskell", "Java", "C++", "Rust")
// => ["PHP", "Haskell", "Java", "C++", "Rust"]
Define a função add_to_language_list, que recebe 2 argumentos: um array de linguagens e a nova linguagem.
<?php
$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]
Define a função prune_language_list para remover a primeira linguagem do array de linguagens.
<?php
$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []
Define a função current_language, que recebe 1 argumento (uma lista de linguagens).
Deve devolver a primeira linguagem da lista.
Assume que a lista terá sempre pelo menos um item.
<?php
$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"
Define a função language_list_length, que recebe 1 argumento (uma lista de linguagens).
Deve devolver o número de linguagens na lista.
<?php
$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
Inscreve-te no Exercism para aprenderes e dominares PHP com 11 conceitos122 exercícios, e mentoria humana real, tudo grátis.