Corso PHP Gli Array seconda parte

Il codice visto nel capitolo precedente accetta voti e mostra i risultati dei voti. Vedremo in questo articolo del corso di linguaggio PHP gli Array seconda parte.

Ma i risultati sono brutti. Stiamo mostrando ai visitatori la nostra rappresentazione interna dei voti, non la rappresentazione che può essere intellegibile. Invece di visualizzare “Il coniglio bianco”, ad esempio, stiamo visualizzando “coniglio”.

L’Array che contiene i dati

Abbiamo bisogno di un array per archiviare la nostra rappresentazione interna e corrispondere alla nostra rappresentazione italiana. Aggiungi un terzo parametro al metodo VoteCounter __construct:

protected $ballotFolder = '/home/USERNAME/ballots/'; protected $filePath;
protected $choices;

public function __construct($fieldName, $choices) { $this->choices = $choices;
parent::__construct($fieldName);
$this->filePath = $this->ballotFolder . $fieldName . '.txt';

}

Nella pagina web, aggiungi questo array di valori di voto:

include_once('/home/USERNAME/includes/fields.phpi');

$imaginaries = array(
'rabbit'=>'Il coniglio bianco',
'scarecrow'=>'Lo spaventapasseri',
'tinman'=>'Uomo magro',
'neo'=>'Neo',

);
$vote = new VoteCounter('character', $imaginaries); $vote->save();

I valori nella matrice sono gli stessi dei valori nel menu di selezione. Nella tabella dei risultati, modificare il FOREACH che crea la tabella.

<th><?php echo $vote->choiceName($choice); ?></th>

E aggiungi il metodo choiceName a VoteCounter:

public function choiceName($choice) {
return $this->choices[$choice];

}

Ciò che questo dovrebbe fare è cercare, diciamo, “tinman” nella serie di personaggi immaginari e recuperare “Uomo magro”. Quello che fornisce in realtà è un intero gruppo di indici indefiniti. Se non vedi indici non definiti, assicurati di avere la visualizzazione degli errori attivata.

Ricerca degli errori

Non sembra che abbia alcun senso. Una cosa da considerare sempre quando si visualizzano errori non spiegati, tuttavia, è l’HTML sorgente della pagina. Nel browser, fai una “visualizza codice sorgente” per vedere l’HTML generato da PHP. In questo caso, vedrai che c’è un ritorno a capo dopo ogni articolo. I tasti spaventapasseri, neo, uomo e coniglio hanno tutti un ritorno a capo dopo di loro.
Risulta che quando la funzione file legge le righe da un file, non getta il ritorno a capo alla fine di ogni riga. Una rapida occhiata alla pagina web di php.net per la funzione file mostra che esiste un parametro speciale per far sì che il file elimini il carattere di fine riga. Modificare il metodo counts () per utilizzare questo parametro.

$votes = file($this->filePath, FILE_IGNORE_NEW_LINES);

Conclusioni

Abbiamo visto il Corso PHP Gli Array seconda parte. Vista la rilevanza dell’argomento e visto il grande numero di richieste che ci sono pervenute a proposito della gestione dei Form e delle Aree Riservate, questo Portale ha tutta una sezione riservata al linguaggio di programmazione PHP. In questa sezione oltre a tanti esempi di codice, troverete anche strumenti utili per la programmazione come Framework, librerie e tanto altro. Vi invitiamo quindi a visitare questa sezione del sito e ricordiamo che è disponibile anche una sezione esempi di codice PHP come quello che abbiamo proposto in questo articolo.

Corso PHP XVIII LezioneCorso PHP XX Lezione