Percursos
/
PHP
PHP
/
Exercícios
/
Lista de Linguagens
Lista de Linguagens

Lista de Linguagens

Exercício de aprendizagem

Introdução

Arrays

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.

Como utilizar arrays

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]

Argumentos de comprimento variável

É 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]

Instruções

Neste exercício tens de implementar algumas funções para manipular uma lista de linguagens de programação.

1. Define uma função que devolve uma lista de linguagens vazia

Define a função language_list, que não recebe argumentos e devolve uma lista vazia.

<?php

language_list();
// => []

2. Modifica a função para criar uma lista a partir de qualquer número de linguagens

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"]

3. Define uma função para adicionar uma linguagem à lista

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"]

4. Define uma função para remover um item da lista de linguagens

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);
// => []

5. Define uma função para obter o primeiro item da lista

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"

6. Define uma função que devolve quantas linguagens há na lista

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
Editar via GitHub A ligação abre numa nova janela ou separador
PHP Exercism

Estás pronto para começar Lista de Linguagens?

Inscreve-te no Exercism para aprenderes e dominares PHP com 11 conceitos122 exercícios, e mentoria humana real, tudo grátis.