Tracks
/
PHP
PHP
/
Übungen
/
Sprachenliste
Sprachenliste

Sprachenliste

Lernübung

Einführung

Arrays

Arrays in PHP sind geordnete Maps. Eine Map ist eine Datenstruktur, die einen Schlüssel einem Wert zuordnet. Arrays sind vielseitig und können als lineares Array (wie in C oder Java), als Liste [Vektor], als Hashtabelle, als Wörterbuch, als Sammlung, als Stack oder als Warteschlange behandelt werden.

Ein Schlüssel ist optional, aber wenn er angegeben wird, muss er vom Typ int oder string sein. Wenn kein Schlüssel angegeben wird, verwendet PHP standardmäßig ganzzahlige Schlüssel in aufsteigender Reihenfolge, beginnend bei 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

Ein Array kann Werte aller Typen speichern. Jeder Wert kann einen anderen Typ haben.

Arrays verwenden

Arrays können als Literal deklariert werden (im Code geschrieben, wie oben) oder mit Funktionen erstellt und bearbeitet werden. Mit dem Index-Operator kannst du auf Werte zugreifen, sie zuweisen oder anhängen:

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

Argumente mit variabler Länge

Du kannst Funktionsargumente so definieren, dass die Funktion beliebig viele Argumente entgegennimmt:

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

Anleitung

In dieser Übung implementierst du einige Funktionen, mit denen du eine Liste von Programmiersprachen bearbeitest.

1. Definiere eine Funktion, die eine leere Sprachenliste zurückgibt

Definiere die Funktion language_list, die keine Argumente entgegennimmt und eine leere Liste zurückgibt.

<?php

language_list();
// => []

2. Ändere die Funktion, sodass sie aus beliebig vielen Sprachen eine Liste erstellt

Ändere die Funktion language_list so, dass sie ein variadisches Argument mit Sprachen (Strings) entgegennimmt. Sie soll die resultierende Liste mit den Sprachen in der Liste zurückgeben.

<?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. Definiere eine Funktion, die eine Sprache zur Liste hinzufügt

Definiere die Funktion add_to_language_list, die zwei Argumente entgegennimmt: ein Array von Sprachen und die neue Sprache.

<?php

$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]

4. Definiere eine Funktion, die ein Element aus der Sprachenliste entfernt

Definiere die Funktion prune_language_list, um die erste Sprache aus dem Array von Sprachen zu entfernen.

<?php

$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []

5. Definiere eine Funktion, die das erste Element der Liste zurückgibt

Definiere die Funktion current_language, die ein Argument entgegennimmt (eine Sprachenliste). Sie soll die erste Sprache in der Liste zurückgeben. Geh davon aus, dass die Liste immer mindestens ein Element enthält.

<?php

$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"

6. Definiere eine Funktion, die zurückgibt, wie viele Sprachen in der Liste sind

Definiere die Funktion language_list_length, die ein Argument entgegennimmt (eine Sprachenliste). Sie soll die Anzahl der Sprachen in der Liste zurückgeben.

<?php

$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
PHP Exercism

Bereit, mit Sprachenliste zu starten?

Melde dich bei Exercism an, um PHP mit 11 Konzepte122 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.