591 Shares 3470 views

cicli efficaci PerOgni: array PHP e destro

Informazioni fornite in array, possono variare i valori di tipo e la loro dimensione e il numero di elementi non possono sempre essere determinato in anticipo. programmazione moderna, in particolare nella forma di realizzazione distribuito, permette di creare complessa struttura dati, contenuto e le proprietà possono essere definite in modo dinamico in un tempo indefinito in conseguenza di varie azioni o gli eventi in una sequenza diversa.

Non è sempre possibile in fase di progettazione per prevedere il processo di funzionamento di tutte le possibili rappresentazioni e l'uso delle informazioni, le dinamiche del loro aspetto e l'utilizzo.

La sintassi del contenuto

Nel formulare la sintassi di foreach, PHP proposto due modi per accedere elementi. Entrambi non dipendono dal tipo di chiave, o il tipo di valori e possono essere emulato ciclo convenzionale. Proposto di considerare una matrice come una pluralità di elementi, il cui numero non è stato inizialmente determinato. L'array può essere configurato al volo, come le chiavi, e senza. L'elemento di matrice può essere rimosso, i tasti possono essere associative e predefinito istruita.

foreach ($ aArrayName da $ xValue) {corpo del ciclo}

Questo disegno richiede il PHP ciclo foreach passare attraverso tutti gli elementi di una riga. Nel corpo della variabile del ciclo $ xValue sarà costantemente prendere tutti i valori dell'array $ aArrayName nell'ordine in cui sono stati aggiunti. I valori degli elementi chiave non saranno disponibili.

foreach ($ aArrayName da $ XKEY => $ xValue) {corpo del ciclo}

Anche qui, compiendo foreach disegno, PHP leggerà l'intero contenuto della matrice, ma le coppie anello avrà valore appropriato come variabile $ xValue, e la variabile $ XKEY – elemento chiave.

La sequenza di elementi

All'interno del foreach PHP offrire contenuti nell'ordine in cui gli elementi aggiunti, ma se ci sono stati ripetuti aggiunta / rimozione, e aggiunge qualcosa ai tasti, e qualcosa senza, è meglio fare il lavoro nella formazione della matrice con un array elementi di sequenza posizione, e in base al loro contenuto o sui tasti.

A causa di vari motivi obiettivi sequenza all'interno della matrice non può essere soddisfatta e / o non importa molto, ma non dovrebbe essere orientato in qualsiasi modo. In semplici operazioni su insiemi di dati banali, nessun problema, e l'algoritmo può essere impostato elaborazione sequenziale, ma durante la creazione / modifica del processo di matrice è influenzata da molti fattori, dovrebbe concentrarsi sul contenuto.

Elementi moderni "giuste"

Dal punto di vista della corrente concetto di sé, anche senza tener conto incondizionato come lingue, array PHP foreach deve essere progettato tenendo conto indipendentemente compito reale specifico.

La pratica, quando c'è un dato, e in questo v'è un indice nella raccolta generale dei relativi prodotti secondo criteri specifici – era ieri.

Index è stata la chiave, e ha preso la forma di un array di array associativi. Questa è la chiave ha perso la sua serie unico (di solito stata coerente: 0, 1, 2, … n) e anche iniziato a valore, ma un valore semplice (cioè la chiave) associata al valore reale (cioè il contenuto dell'elemento). E 'oggi, è corretto, ma non del tutto.

Ecco perché il PHP ciclo foreach sta considerando come alternativa al ciclo normale, incentrata su array convenzionali. È soprattutto, e questo è molto importante, perché questo implica che la precisione reale di elementi dell'array, così come le loro chiavi!

array destra di elementi regolari

Prima c'era un elemento, quindi due elementi … quindi c'era un array di elementi e il ciclo attraverso l'array di quelli:

for ($ i = 0; $ i <count ($ aArrayName); $ i ++) {

l'elaborazione del corpo di ogni $ aArrayName [$ i]

}

Poi l'elemento al posto di un senza volto 0, 1, 2, … n avrà il suo proprio nome – la chiave e poi diventano array associativi e quindi aveva bisogno di un ciclo foreach – "ciclo per ogni":

foreach ($ aArrayName da $ XKEY => $ xValue) {

elaborare il corpo di ogni $ aArrayName [$ XKEY] $ xValue o che uno stesso

}

Ora è giunto il momento in cui la matrice dovrebbe venire giusti elementi, cioè quelli che da soli. Sanno che il codice, il suo contenuto, il suo posto nella sequenza tendono ad essere la propria scelta di sequenza e delegare tutte queste possibilità le proprie matrici che li contengono.

Tali array regolari sono gestite da soli. esigenze speciali in cicli convenzionali e cicli di ogni non sarà semplice. Formalmente, la sintassi e la semantica di questa già consentono, l'unica domanda per l'inerzia sviluppatore di coscienza.