Stack, vettori o semplicemente array…

March 13th, 2007 by MP

Apro questo piccolo spazio con un introduzione abbastanza veloce sul mondo dei vettori (che io amo chiamare array). Personalmente io li uso moltissimo (anzi ne abuso) perchè in php, a differenza di java e del c, hanno numerose caratteristiche interessanti... spero che alla fine direte cazzo figata!

Partiamo con un po' di teoria (buuuuuuuuuh), con vettore si intende una collezione di variabili a cui si accede attraverso un particolare valore chiamato indice che permette di utilizzare la variabile a lui associata. La potenza degli array in PHP è che ogni singola variabile può essere di tipo diverso dalle altre presenti nella collezione in parole povere possiamo inserire in un unico array stringhe, numeri interi, valori con virgola, oggetti e altri array...
Cosa che se stessimo lavorando con c farebbe rizzare i capelli in testa al compilatore...

Passiamo ora nel tecnico (urrah!): ad esmpio se volessimo rappresentare con l'aiuto di php la nostra lista di canzoni..

PHP:
<?php

$mya = array("Toto - Africa","Duran Duran - Save a prayer","Cristina D'avena - Pollon");

?>

Abbiamo (ho) creato un piccolo array di tre elementi di nome "$mya". Per i più ho scoperto l'acqua calda, per altri invece si è aperto un nuovo mondo. In pratica $myarray conterrà tre variabili che a loro volta conterranno ognuna un nome di canzone. La domanda qui sorge spontanea: come faccio ad accedere ad ogni singola variabile?

PHP:
<?php

echo "Mi piacciono i cartoni animati perchè ascolto ".$mya[2];

?>

In questo modo stamperò "mi piacciono i cartoni animati perchè ascolto Cristina D'avena - Pollon"

L'indice di associazione parte da 0 perciò se ho un array di n elementi l'ultimo elemento sarà l'(n-1)-esimo e non l'n-esimo come si potrebbe pensare.

Php eredita dal c la notazione a parentesi quadre per rappresentare l'indice di un array, cosa che visual basic non fa utilizzando semplicemente le parentesi tonde e generando un po' di confusione scambiando talvolta array con funzioni.

Le potenzialità degli array sono ancora tutte da scoprire: abbiamo visto indici numerici ma cosa succede se scriviamo:

PHP:
<?php

$mya = array(     "Rock"     => "Boston",
                  "Classica" => "Mozart",
                  "Dance"    => "Planet Funk",
                  "Punk"     => "korn");

print_r($mya);

?>

In questo caso ho inizializzato un array utilizzando degli indici personali che non sono numerici....ma bensì stringhe... una cosa che può risultare assurda anche a chi conosce linguaggi di programmazione come c o java. In php è possibile utilizzare oltre che formati numerici anche stringhe per rappresentare gli indici.

La funzione print_r($mya) permette di stampare l'array in formato apprezzabile (cioè ben formattato) visto che per stampare un array ci vuole un for particolare...che illustrerò nei prossimi post!

mp

Posted in PHP Guide |

One Response

  1. .v3! Says:

    cazzo figata!!!

    bello il blog MP, grande, bello anche l’articolo sulle SQL injections, dopo averlo letto il mio commento è stato il piu classico e elementare dei “oh pd!”

    bookmarked ;)

    ciau

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.