Ejercicios (sin formularios) - Matrices (2) - Soluciones

En esta página se muestran una parte de las soluciones de los ejercicios Matrices (2), concretamente el fragmento PHP, sin el principio ni el final de la página que se puede dejar en un fragmento HTML. La solución completa se puede descargar de la página de soluciones.

Dimensión 2 (tablas)

Matrices (2) 01 - Fichas de animales

<?php
$animales = [
    ["Ballena", "ballena.svg", "https://es.wikipedia.org/wiki/Balaenidae"],
    ["Caballito de mar", "caballito-mar.svg", "https://es.wikipedia.org/wiki/Hippocampus"],
    ["Camello", "camello.svg", "https://es.wikipedia.org/wiki/Camelus"],
    ["Cebra", "cebra.svg", "https://es.wikipedia.org/wiki/Cebra"],
    ["Elefante", "elefante.svg", "https://es.wikipedia.org/wiki/Elephantidae"],
    ["Hipopótamo", "hipopotamo.svg", "https://es.wikipedia.org/wiki/Hippopotamidae"],
    ["Jirafa", "jirafa.svg", "https://es.wikipedia.org/wiki/Giraffa_camelopardalis"],
    ["León", "leon.svg", "https://es.wikipedia.org/wiki/Panthera_leo"],
    ["Leopardo", "leopardo.svg", "https://es.wikipedia.org/wiki/Panthera_pardus"],
    ["Medusa", "medusa.svg", "https://es.wikipedia.org/wiki/Medusa_(animal)"],
    ["Mono", "mono.svg", "https://es.wikipedia.org/wiki/Mono"],
    ["Oso", "oso.svg", "https://es.wikipedia.org/wiki/Ursidae"],
    ["Oso blanco", "oso-blanco.svg","https://es.wikipedia.org/wiki/Ursus_maritimus"],
    ["Pájaro", "pajaro.svg", "https://es.wikipedia.org/wiki/Aves"],
    ["Pingüino", "pinguino.svg", "https://es.wikipedia.org/wiki/Spheniscidae"],
    ["Rinoceronte", "rinoceronte.svg", "https://es.wikipedia.org/wiki/Rhinocerotidae"],
    ["Serpiente", "serpiente.svg", "https://es.wikipedia.org/wiki/Serpentes"],
    ["Tigre", "tigre.svg", "https://es.wikipedia.org/wiki/Panthera_tigris"],
    ["Tortuga marina", "tortuga-marina.svg", "https://es.wikipedia.org/wiki/Chelonioidea"],
    ["Tortuga", "tortuga.svg", "https://es.wikipedia.org/wiki/Testudines"]
];

$animal = rand(0, count($animales) - 1);

print "  <h2>" . $animales[$animal][0] . "</h2>\n";
print "\n";
print "  <p><img src=\"img/animales/{$animales[$animal][1]}\" alt=\""
    . "{$animales[$animal][0]}\" title=\"{$animales[$animal][0]}\" height=\"250\" /></p>\n";

print "\n";
print "  <p>Más <a href=\"{$animales[$animal][2]}\">información sobre este animal</a> en la Wikipedia</p>\n";
?>

Matrices (2) 02 - Diccionario

<?php
$idiomas = ["español", "inglés", "francés", "italiano"];

$palabras = [
    ["lunes", "monday", "lundi", "lunedi"],
    ["martes", "tuesday", "mardi", "martedi"],
    ["miércoles", "wednesday", "mercredi", "mercoledì"],
    ["jueves", "thursday", "jeudi", "giovedì"],
    ["viernes", "friday", "vendredi", "venerdì"],
    ["sábado", "saturday", "samedi", "sabato"],
    ["domingo", "sunday", "dimanche", "domenica"],
    ["cachimba", "", "", ""]
];

$idioma = rand(1, count($idiomas) - 1);
$palabra = rand(0, count($palabras) - 1);

if ($palabras[$palabra][$idioma] == "") {
    print "  <p>Lo siento, pero no está disponible la traducción de <strong>"
        . "{$palabras[$palabra][0]}</strong> al $idiomas[$idioma].</p>\n";
} else {
    print "  <p><strong style=\"text-transform: capitalize\">{$palabras[$palabra][$idioma]}"
        . "</strong> quiere decir <strong>{$palabras[$palabra][0]}"
        . " </strong> en $idiomas[$idioma].</p>\n";
}
?>

Matrices (2) 03 - Tirada multilíngüe

<?php
$palabras = [
    ["uno", "one", "un", "uno"],
    ["dos", "two", "deux", "due"],
    ["tres", "three", "trois", "tre"],
    ["cuatro", "four", "quatre", "quattro"],
    ["cinco", "five", "cinq", "cinque"],
    ["seis", "six", "six", "sei"]
];

$mensajes = [
    ["Tirada de dado", "Dieroll", "Jet de dé", "Tiro di dado"],
    ["Actualice la página para mostrar una nueva tirada.", "Refresh the page to display a new dieroll.",
        "Rafraîchir la page pour afficher un nouveau jet de dé.", "Aggiornare la pagina per visualizzare un nuovo tiro di dado."],
    ["Ha obtenido un", "You have thrown a", "Vous avez emporté un", "Hai ottenuto un"]
];

$idioma = rand(0, count($palabras[0]) - 1);
$dado = rand(1, 6);

print "  <h1>{$mensajes[0][$idioma]}</h1>\n";
print "\n";
print "  <p>{$mensajes[1][$idioma]}</p>\n";
print "\n";
print "  <p><img src=\"img/$dado.svg\" alt=\"$dado\" title=\"$dado\" width=\"140\" height=\"140\" /></p>\n";
print "\n";
print "  <p>{$mensajes[2][$idioma]} <strong>{$palabras[$dado-1][$idioma]}</strong>.</p>\n";
?>

Matrices (1) 04 - Multidiccionario

<?php
$idiomas = [
    ["español", "spanish", "espagnol", "spagnolo"],
    ["inglés", "engligh", "anglais", "inglese"],
    ["francés", "french", "français", "francese"],
    ["italiano", "italian", "italien", "italiano"]
];

$palabras = [
    ["lunes", "monday", "lundi", "lunedi"],
    ["martes", "tuesday", "mardi", "martedi"],
    ["miércoles", "wednesday", "mercredi", "mercoledì"],
    ["jueves", "thursday", "jeudi", "giovedì"],
    ["viernes", "friday", "vendredi", "venerdì"],
    ["sábado", "saturday", "samedi", "sabato"],
    ["domingo", "sunday", "dimanche", "domenica"],
];

$mensajes = [
    ["diccionario multilingüe", "multilingual dictionary", "Dictionnaire multilingue", "Dizionario multilingue"],
    ["Actualice la página para mostrar una nueva palabra.", "Refresh the page to display a new word.",
        "Rafraîchir la page pour afficher un nouveau mot.", "Aggiornare la pagina per visualizzare una nuova parola."],
    ["quiere decir", "means", "veut dire", "significa"],
    ["en", "in", "en", "in"]
];

$idioma = rand(0, count($idiomas) - 1);
do {
    $idioma2 = rand(0, count($idiomas) - 1);
} while ($idioma2 == $idioma);

$palabra = rand(0, count($palabras) - 1);

print "  <h1>{$mensajes[0][$idioma]}</h1>\n";
print "\n";
print "  <p>{$mensajes[1][$idioma]}</p>\n";
print "\n";

print "  <p><strong style=\"text-transform: capitalize\">{$palabras[$palabra][$idioma2]}"
    . "</strong> {$mensajes[2][$idioma]} <strong>{$palabras[$palabra][$idioma]}"
    . "</strong> {$mensajes[3][$idioma]} {$idiomas[$idioma2][$idioma]}.</p>\n";
?>