TietokoneetTietotekniikka

Tehokkaat foreach-silmukat: PHP ja tavalliset ryhmät

Taulukoissa esitetyt tiedot voivat vaihdella arvojen tyypissä ja niiden koossa, eikä elementtien määrää voida aina määrittää etukäteen. Nykyaikainen ohjelmointi, erityisesti hajautetussa versiossa, mahdollistaa monimutkaisten tietorakenteiden luomisen, joiden sisältö ja ominaisuudet voidaan määrittää dynaamisesti määrittelemättömän ajan eri toimien tai tapahtumien seurauksena.

Ei aina kehitysvaiheessa, voit ennustaa käyttöprosessin, tarjota mahdolliset mahdollisuudet tiedon esittämiseen ja käyttöön, niiden ulkoasun ja käytön dynamiikkaan.

Syklin syntaksi sisällön mukaan

Foreacin syntaksin muotoilu PHP tarjosi kaksi vaihtoehtoa elementtien käyttämiseen. Molemmat eivät ole riippuvaisia avaintyypistä tai arvotyypistä, ja ne voidaan emuloida tavallisella silmukalla. On ehdotettu, että ryhmä otetaan elementtien joukoksi, jonka numeroa ei ole alun perin määritelty. Joukko voidaan muodostaa lennolla, näppäimillä tai ilman. Joukossa elementti voidaan poistaa, avaimet voivat olla assosiatiivisia ja muodostettu oletusarvoisesti.

Foreach ($ aArrayName kuin $ xValue) {kehyksen silmukka}

Tämä muotoilu velvoittaa foreach-PHP-silmukan läpi kaikki elementit peräkkäin. Silmukan kehossa $ xValue -muuttuja ottaa peräkkäin kaikki $ aArrayName -arjon arvot järjestyksessä, johon ne lisättiin. Elementin avainarvot eivät ole käytettävissä.

Foreach ($ aArrayName kuin $ xKey => $ xValue) {kehyksen silmukka}

Tässä myös, kun suoritat foreach-konstruktin, PHP skannaa koko matriisin sisällön, mutta silmukan kehossa vastaavat arvot ovat pareittain sekä $ xValue että $ xKey, elementin avain.

Elementtien järjestys

Sisällä foreach PHP tarjoaa sisällön siinä järjestyksessä, jossa elementit on lisätty, mutta jos useita sukupolvenvaihdoksia oli lisätty / poistettu, ja jotain lisättiin avaimilla, ja jotain ilman, on parasta työskennellä matriisin kanssa Elementtien järjestyksen sijainnit, mutta niiden sisällön tai avainten perusteella.

Erilaisten objektiivisten syiden vuoksi ryhmässä olevaa sekvenssiä ei ehkä havaita ja / tai sillä ei ehkä ole paljon merkitystä, mutta sen ei pitäisi olla missään tapauksessa suunnattu. Yksinkertaisissa ongelmissa, triviaaleissa datasarjoissa ei ole ongelmia, ja algoritmi voidaan virittää peräkkäiseen käsittelyyn, mutta kun taulukon luomiseen / muokkaamiseen liittyy monen tekijän, on keskityttävä sisältöön.

Modernit "oikeat" elementit

Olemassa olevan oman konseptin näkökulmasta, vaikka edes ottaisi huomioon kielten ehdottoman samankaltaisuuden, PHP foreach -joukko on suunniteltava itsenäisesti ottaen huomioon todellinen konkreettinen tehtävä.

Harjoittele, kun on annettu, ja sillä on indeksi yleisessä kokoelmassaan samanlaisena tietyn kriteerin mukaan, se oli eilen .

Indeksi tuli avain, ja taulukko otti assosiatiivisen matriisin muodon. Eli avain on menettänyt peräkkäisen ainutkertaisuutensa (se oli tavallisesti johdonmukainen: 0, 1, 2, ... n) ja siitä tuli myös arvo, mutta todellinen arvo (eli elementin sisältö) liittyy yksinkertainen arvo (eli avain). Se on tänään, se on oikein, mutta ei täydellinen .

Siksi PHP pitää PHP: n foreach-silmukkaa vaihtoehtona tavalliselle silmukalle, joka on suunnattu tavallisille ryhmille. Tämä on ennen kaikkea tärkeä, koska tämä merkitsee matriisin elementtien todellista oikeellisuutta sekä niiden avaimia!

Korjaa säännöllisiä elementtejä

Ensin oli elementti, sitten kaksi elementtiä ... niin oli joukko elementtejä ja silmukkaa joukosta näistä:

Jos ($ i = 0; $ i

Kunkin $ aArrayName [$ i]

}

Sitten elementti kasvoimattomien 0, 1, 2, ... n sijasta oli oma nimi - avain ja sitten taulukot liittyivät assosiatiivisiksi, ja sitten tarvitaan foreach-silmukka - "silmukka kullekin":

Foreach ($ aArrayName kuin $ xKey => $ xValue) {

Jokainen $ aArrayName [$ xKey] tai $ xValue käsittelyrunko on sama

}

Nyt on aika päästä ryhmään oikeilla elementeillä , toisin sanoen sellaisilla, jotka ovat omin päin. He itse tietävät indeksinsä, niiden sisällön, paikkansa järjestyksessä, haluavat näyttää omat valintansa ja siirtää kaikki nämä mahdollisuudet todelliseen ryhmään, joka sisältää ne.

Tällaisia säännöllisiä töitä käsitellään itse. Erityinen tarve tavallisten syklien ja syklien käytölle ei yksinkertaisesti ole. Muodollisesti syntaksi ja semantiikka jo sallivat, kysymys on vain kehittäjän tietoisuuden inertia.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fi.atomiyme.com. Theme powered by WordPress.