diumenge, 6 d’octubre del 2013

PHP. Funcions per tractar vectors


La funció foreach

Vectors simples foreach($nom_del_vector as $valor){ instruccions amb $valor  }
  Vectors associatius foreach($nom_del_vector as $clau => $valor){ instruccions amb $clau i $valor  }

Les variables $clau i $valor són anomenades lliurement, i recullen el contingut de la clau i del valor de cada un dels termes del vector.

Exemple:

$productos[0] = "Sucre"; $productos[1] = "Pa"; $productos[2] = "Sal"; print "<ul>"; foreach ( $productos as $producto )  { print "<li>" . $producto . "</li>"; }  print "</ul>"; 

El mateix exemple declarant el vector diferent:


$precios = array( "Sucre" => 1, "Pa" => 4, "Sal" => 0.5 ); foreach ( $precios as $producto => $precio )  { print "Producto: " . $producto . " Precio: " . $precio . "<br />"; }

Un altre exemple complert


<?php echo "<p>Les teves aficions</p>"; echo "<p>"; foreach($_REQUEST as $clau => $valor){ // Lectura exhaustiva de les dades if ($clau == "n") { $text_clau = "Nom"; } // Inici de la transformació de les claus en textos complets if ($clau == "mu") { $text_clau = "Música"; } if ($clau == "ci") { $text_clau = "Cinema"; } if ($clau == "es") { $text_clau = "Esport"; } // Final ídem echo $text_clau . ": " . $valor . "<br />"; // Forma interpretable per (X)HTML } echo "</p>"; ?>


La funció count() - i la seva equivalent sizeof() - ens retornen el nombre de termes d'un vector:

$n = count(nom_del_vector);
La funció isset() comprova si una variable existeix o no, i retorna els valors true o false:

if (isset(variable)){ ... }
La variable tant pot ésser individual com el membre d'un vector.

Exemple:

<?php $n = count($_REQUEST); // Compta els termes de $_REQUEST if ($n == "3"){ // Si procedeix del segon formulari, n'hi ha 3 echo "<p><strong>Hem rebut les teves dades amb el correu electrònic.</strong></p>"; }else{ // Si procedeix del primer formulari, n'hi ha 4 echo "<p><strong>Hem rebut les teves dades amb l'adreça postal.</strong></p>"; } ?>

La funció list: converteix un vector en variables independents.


$a = $vector[0]; $b = $vector[1]; $c = $vector[2]; list($a,$b,$c...) = $vector;

Exemple:
<?php $dades = array("cireres", "dolces", "vermelles"); // Dades en un vector list($fruita,$gust,$color) = $dades; // Passen a varibles independents echo "<p><strong>Les $fruita són $gust i $color.</strong></p>"; ?> 


sort(): ordena un vector
rsort(): ordena en sentit invers. natsort(): té en compte el valor numèric de les seqüències de nombres (vg.: img7 va davant img11. natcasesort(): com l'anterior, i a més no distingeix entre majúscules i minúscules.

Exemple:



<?php $noms = array($_REQUEST['n1'], $_ REQUEST['n2'], $_ REQUEST['n3'], $_ REQUEST['n4'], $_ REQUEST['n5']); // Recull els valors sort($noms); // Els ordena echo "<p>Els teus millors amics són:</p>"; foreach ($noms as $nom){ // En fa la lectura exhaustiva echo "<br />" . $nom; // Els presenta } echo "</p>"; ?>


Cap comentari:

Publica un comentari a l'entrada