Enunciats dels exercicis per a començar a programar en PHP
ex04.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matrius en PHP</title>
</head>  
<body>  
 <?php
 
function presentaCodiFont($codiFont){
     if(!
file_exists($codiFont)){
        return -
1;
     }
     echo 
"<B>$codiFont<HR><FONT size = 3>";
     
show_source($codiFont);
     echo 
"</font></B><P>";
     echo 
"<A href=\"$codiFont\">Executa-ho</a><HR>";
     return 
0;
 }
 echo 
"<A href=\"ex04.pdf\">Enunciats dels exercicis per a començar a programar en PHP</a><HR>";
 
presentaCodiFont("ex04.php");
 
presentaCodiFont("ex04-1.php");
 
presentaCodiFont("ex04-2.php");
 
presentaCodiFont("ex04-3.php");
 
presentaCodiFont("ex04-4.php");
 
presentaCodiFont("ex04-5.php");
 
presentaCodiFont("ex04-6.php");
 
presentaCodiFont("ex04-7.php");
?>  
</body>
</html>

Executa-ho


ex04-1.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matriu simple</title>
</head>
 
<body>
<h2>Com és el temps metereològic?</h2>
 
<?php
//Es crea una mtriu
$meteo=array(
  
"pluja",
  
"sol",
  
"núvols",
  
"aiguaneu",
  
"neu",
  
"vent",
  
"calamarsa"
  
);
 
//Ús de la matriu a la frase
echo "<p>Hem vist tot tipus de clima aquest mes. A principis de mes, ";
echo 
"vam tenir $meteo[5] i el $meteo[6]. Després va venir $meteo[1] amb alguns $meteo[2] ";
echo 
"i una mica de $meteo[0]. Almenys no va haver $meteo[3] o $meteo[4].</p>";
?>
</body>
</html>

Executa-ho


ex04-2.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Bucle matriu simple - Ciutats</title>
</head>
 
<body>
<h2>Grans ciutats<br /></h2>
 
<?php
//Crea la matriu
$ciutats=array(
  
"Tòquio",
  
"Ciutat de Mèxic",
  
"Nova York",
  
"Mumbai",
  
"Seül",
  
"Xangai",
  
"Lagos",
  
"Buenos Aires",
  
"El Caire",
  
"Londres"
  
);
   
//Visualitza els valors de la matriu al navegador, separat per comes.
foreach($ciutats as $c){
  echo 
"$c, ";
}
 
//Sort array.
sort($ciutats);
 
//Visualitza la matriu com una llista començada per punts
echo "\n<ul>\n" ;
foreach(
$ciutats as $c){
  echo 
"<li>$c</li>\n";
}
echo 
"</ul>" ;
 
//Afegeix 4 ciutats a la matriu
array_push($ciutats"Los Angeles""Calcuta""Osaka""Pequín") ;
 
//Ordena un altre cop i visualitza llista amb punts inicials
sort($ciutats);
echo 
"\n<ul>\n";
foreach(
$ciutats as $c){
  echo 
"<li>$c</li>\n";
}
echo 
"</ul>";
?>
 
</body>
</html>

Executa-ho


ex04-3.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matrius des de l'entrada d'usuari</title>
</head>
<body>
<h2>Quina percepció teniu del temps metereològic? </h2>
 
<?php
    
// Si no s'ha premut el botó, es va al formulari inicial
    
if (!isset($_POST['submit'])){
?>
        <form method="post" action="ex04-3.php">
            <p>Introdueixi la seva informació:</p>
            Ciutat: <input type="text" name="ciutat" />
            Mes: <input type="text" name="mes" />
            Any: <input type="text" name="any" />
            <p>Si us plau, seleccioni quin tipus de temps metereològic heu experimentat.
            <br />Escolliu el que toqui. </p>
            <input type="checkbox" name="tempsMeteo[]" value="assolellat" />Assolellat<br />
            <input type="checkbox" name="tempsMeteo[]" value="núvols" />Núvols<br />
            <input type="checkbox" name="tempsMeteo[]" value="pluja" />Pluja<br />
            <input type="checkbox" name="tempsMeteo[]" value="calamarsa" />Calamarsa<br />
            <input type="checkbox" name="tempsMeteo[]" value="aiguaneu" />Aiguaneu<br />
            <input type="checkbox" name="tempsMeteo[]" value="neu" />Neu<br />
            <input type="checkbox" name="tempsMeteo[]" value="vent" />Vent<br />
            <input type="checkbox" name="tempsMeteo[]" value="fred" />Fred<br />
            <input type="checkbox" name="tempsMeteo[]" value="calor" />Calor<br />
            <p />
            <input type="submit" name="submit" value="Endavant" />
        </form>         
        <?php
            
// Si s'ha premut el botó es processa l'entrada
        
}else{
            
//Recull la informació de la data i el lloc
            
$entradaLocal = array(
              
$_POST['ciutat'],
              
$_POST['mes'],
              
$_POST['any']
            );
            echo 
"A $entradaLocal[0] al mes de/d' $entradaLocal[1] de $entradaLocal[2], heu observat aquest temps:<br /> <ul>";
            foreach(
$_POST['tempsMeteo'] as $w){
              echo 
"<li>$w</li>\n"
            }
            echo 
"</ul>";
    }
?>
</body>
</html>

Executa-ho


ex04-4.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matriu entrant dades d'usuari</title>
</head>
 
<body>
<h2>Com viatges?</h2>
 
<?php
//Si no has premut el botó, visualitza el formulari
if (!isset($_POST['submit'])){
$travel=array(
  
"automòbil",
  
"avió",
  
"ferri",
  
"metro"
);
 
?>
 
<p>Es pot viatjar de moltes maneres depenent si vols anar a un altre 
lloc del teu municipi, anar a un altre lloc del teu país o si vols anar 
a un altre lloc del món. Aquesta és una llista d'alguns mitjans de 
transport comuns :</p>
<ul>
 
<?php
foreach ($travel as $t){
  echo 
"<li>$t</li>\n";
}
?>
 
</ul>
<form method="post" action="ex04-4.php">
<p>Voleu afegir altres mitjans de transport?. 
Si voleu fer-ho introduiu-los separats per comes:</p>
<input type="text" name="added" size="80" />
<p />
 
<?php
//S'envia la matriu actual com a formulari de dades ocult.
foreach ($travel as $t){
  echo 
"<input type=\"hidden\" name=\"travel[]\" value=\"$t\" />\n";
}
?>
 
<input type="submit" name="submit" value="Ves" />
</form>
 
<?php
//En cas d'haver introduït dades es processa l'entrada
}else{
//Matriu prèvia
$travel=($_POST['travel']);
//Converteix les dades d'entrada a una matriu
$added=explode(',',$_POST['added']);
 
//S'afegeix a la matriu principal
array_splice($travelcount($travel), 0$added);
// Es podia haver escrit $travel=array_merge($travel, $added);
 
//Retorna la nova llista a l'usuari
echo "<p>Aquí hi ha la llista amb els mitjans de transport que has afegit:</p>\n<ul>\n";
foreach(
$travel as $t){
  
//La funció trim esborra els espais extra que l'usuari hagi introduït
  
echo "<li>".trim($t)."</li>\n"
}
echo
"</ul>"
 
?>
<p>Voleu afegir-ne més?</p>
<form method="post" action="ex04-4.php">
<input type="text" name="added" size="80" />
<p />
<?php
//Tramet la matriu actual com a formulari ocult de dades
foreach ($travel as $t){
  echo 
"<input type=\"hidden\" name=\"travel[]\" value=\"$t\" />\n";
}
?>
<input type="submit" name="submit" value="Ves" />
</form>
<?php
}
?></body>
</html>

Executa-ho


ex04-5.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matriu associativa</title>
</head>
 
<body>
<h2>Grans ciutats un altre cop<br /></h2>
 
<?php
  $ciutats
=array(
  
"Japó"=>"Tòquio",
  
"Mèxic"=>"Ciutat de Mèxic",
  
"Estats Units d'Amèrica"=>"Nova York",
  
"Índia"=>"Mumbai",
  
"Corea"=>"Seül",
  
"Xina"=>"Xangai",
  
"Nigèria"=>"Lagos",
  
"Argentina"=>"Buenos Aires",
  
"Egipte"=>"El Caire",
  
"Anglaterra"=>"Londres"
  
);
  
//Si no has premut el botó, visualitza el formulari
  
if(!isset($_POST['submit'])){
?>
   
<form method="post" action="ex04-5.php">
<p>Escull una ciutat:</p>
<select name="ciutat">
 
<?php
  
foreach($ciutats as $c){
    echo 
"<option value=\"$c\">$c</option>\n";
  }
?>
 
</select> <p />
<input type="submit" name="submit" value="Ves">
</form>
 
<?php
  
//En cas d'haver introduït dades es processa l'entrada
  
}else{
    
//Captura la ciutat
    
$ciutat=$_POST['ciutat'];
    
//Troba la clau corresponent a la matriu associativa
    
$pais=array_search($ciutat$ciutats);
    
//Tramet la informació a l'usuari
    
echo "<p>$ciutat és a $pais.</p>" ;
   
  }
?>
</body>
</html>

Executa-ho


ex04-6.php
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matriu associativa</title>
</head>
 
<body>
<h2>Matriu de temperatures màximes per a un mes de primavera</h2>
 
<?php
//Matriu de les 30 temperatures màximes per a un mes de primavera
$temperaturesMaximes = array(
  
202224181928322425272318232928,
  
202325302918121527232832353433
);
 
//Obté el nombre de temperatures
$comptador count($temperaturesMaximes);
 
//Sumatori de totes les temperatures
$total 0;
foreach (
$temperaturesMaximes as $h){
  
$total += $h;
}
 
//Calcula la mitja
$mitja round($total $comptador);
 
//Tramet dades al navegador. &deg; és el codi ASCII per º
echo "<p>La mitja de les temperatures màximes pel mes ha estat de $mitja &deg;C.</p>\n";
 
//Ordena les temperatures i obté les cinc màximes.
//S'empra rsort per ordenar de manera decreixent
rsort($temperaturesMaximes);
//Recull els cinc valors màxims
$topTemps array_slice($temperaturesMaximes05);
echo 
"<p>Les cinc temperatures més càlides són: <br />\n";
foreach(
$topTemps as $t){
  echo 
"$t &deg;C <br/> \n";
}
echo 
"</p>";
   
//Visualitza les cinc temperatures màximes més baixes
$lowTemps array_slice($temperaturesMaximes, -55);
echo 
"<p>Les cinc temperatures més baixes: <br/>\n";
foreach(
$lowTemps as $l){
  echo 
"$l &deg;C <br/> \n";
}
echo 
"</p>";
 
?>
</body>
</html>

Executa-ho


ex04-7.php
<?php
$multiCiutat
=array(
    array(
'Ciutat''País''Continent'),
    array(
'Tòquio''Japó''Àsia'),
    array(
'Ciutat de Mèxic','Mèxic''Amèrica'),
    array(
'Nova York''Estats Units d\'Amèrica''Amèrica'),
    array(
'Mumbai''Índia''Àsia'),
    array(
'Seül''Corea''Àsia'),
    array(
'Xangai''Xina''Àsia'),
    array(
'Lagos''Nigèria''Àfrica'),
    array(
'Buenos Aires''Argentina''Amèrica'),
    array(
'El Caire''Egipte''Àfrica'),
    array(
'Londres''Regne Unit','Europa')
);
?>
<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Matriu multidimensional</title>
    <style type="text/css">
    td, th {width: 8em; border: 1px solid black; padding-left: 4px;}
    th {text-align:center;}
    table {border-collapse: collapse; border: 1px solid black;}
    </style>
</head>
 
<body>
<h2>Taula de ciutats<br /></h2>
 
<table>
<thead>
<tr>
<th>
<?php
echo $multiCiutat[0][0] ."</th>\n<th>";
echo 
$multiCiutat[0][1] ."</th>\n<th>";
echo 
$multiCiutat[0][2] ."</th>\n";
?>
</tr>
</thead>
 
<?php
//Troba el nombre de files de la matriu
$num count($multiCiutat);
for (
$row=1$row<$num$row++){
  echo 
"<tr>\n";
  foreach (
$multiCiutat[$row] as $valor){
    echo 
"<td>$valor</td>\n";
    }
   echo 
"</tr>\n"
}
?>
 
</table></body>
</html>

Executa-ho