Gli array in PHP sono mappe ordinate.
Una mappa è una struttura dati che associa una chiave a un valore.
Gli array sono versatili e possono essere trattati come un array lineare (come in C o Java), una lista [vector], una tabella hash, un dizionario, una collezione, uno stack o una coda.
Una chiave è opzionale, ma se specificata deve essere un int o una string.
Quando una chiave non viene fornita, PHP usa per impostazione predefinita chiavi intere in ordine crescente, a partire da 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
Un array può memorizzare valori di tutti i tipi. Ogni valore può avere un tipo diverso.
Gli array si possono dichiarare come letterale (scritto nel codice, come sopra) oppure creare e manipolare tramite funzioni. Per accedere ai valori, assegnarli e aggiungerli si usa l'operatore di indice:
$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]
Gli argomenti di una funzione possono essere specificati in modo che accetti un numero qualsiasi di argomenti:
<?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]
In questo esercizio devi implementare alcune funzioni per manipolare un array di linguaggi di programmazione.
Definisci la funzione language_list che non accetta argomenti e restituisce un array vuoto.
<?php
language_list();
// => []
Modifica la funzione language_list in modo che accetti un argomento variadico di linguaggi (stringhe).
Dovrebbe restituire l'array risultante contenente i linguaggi.
<?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"]
Definisci la funzione add_to_language_list che prende 2 argomenti, un array di linguaggi e il nuovo linguaggio.
<?php
$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]
Definisci la funzione prune_language_list per rimuovere il primo linguaggio dall'array di linguaggi.
<?php
$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []
Definisci la funzione current_language che prende 1 argomento (un array di linguaggi).
Dovrebbe restituire il primo linguaggio dell'array.
Presumi che l'array abbia sempre almeno un elemento.
<?php
$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"
Definisci la funzione language_list_length che prende 1 argomento (un array di linguaggi).
Dovrebbe restituire il numero di linguaggi nell'array.
<?php
$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
Iscriviti a Exercism per imparare e padroneggiare PHP con 11 concetti122 esercizi e il mentoring di persone reali, tutto gratis.