/ / Effectieve foreach-lussen: PHP en geschikte arrays

Effectieve foreach-lussen: PHP en geschikte arrays

De informatie in arrays kanverschillen in het type waarden en hun grootte, en het aantal elementen kan niet altijd vooraf worden bepaald. Met moderne programmering, vooral in een gedistribueerde versie, kunt u complexe datastructuren maken, waarvan de inhoud en eigenschappen dynamisch kunnen worden bepaald op een onbeperkt tijdstip als gevolg van verschillende acties of gebeurtenissen, in een andere volgorde.

foreach php

In de ontwikkelingsfase is het niet altijd mogelijk om het bedrijfsproces te voorspellen, om alle mogelijke opties te bieden voor de presentatie en het gebruik van informatie, de dynamiek van hun uiterlijk en gebruik.

Syntaxis van de inhoudslus

PHP stelde twee syntaxis voor en stelde twee voortoegangsopties voor items. Beide zijn onafhankelijk van het type sleutel of het type waarde en kunnen in een regelmatige lus worden geëmuleerd. Voorgesteld wordt om de reeks te beschouwen als een verzameling elementen, waarvan het aantal in eerste instantie niet wordt bepaald. Een array kan ter plekke worden gevormd, met of zonder toetsen. Een element kan in de array worden verwijderd, sleutels kunnen associatief zijn en standaard worden gevormd.

foreach ($ aArrayName as $ xValue) {loop body}

Dit ontwerp verplicht de foreach PHP-lusloop door alle elementen op een rij. In het hoofdgedeelte van de lus neemt de variabele $ xValue opeenvolgend alle waarden van de array $ aArrayName in de volgorde waarin ze zijn toegevoegd. Sleutelwaarden voor elementen zijn niet beschikbaar.

foreach ($ aArrayName as $ xKey => $ xValue) {loop body}

Ook hier wordt het foreach-construct PHP uitgevoerdhet doorzoekt de volledige inhoud van de array, maar in de kern van de lus zijn zowel de variabele $ xValue als de variabele $ xKey de sleutel van het element.

voor elk lus php

Volgorde van elementen

Binnenin biedt PHP inhoud aanin de volgorde waarin de elementen zijn toegevoegd, maar als tijdens de vorming van de array herhaalde toevoegingen / verwijderingen waren en er iets werd toegevoegd met de toetsen en iets zonder, is het het beste om met de array te werken, niet vanuit de positie van de reeks elementen, maar op basis van hun inhoud of op toetsen.

php foreach array

Om verschillende objectieve redenende volgorde binnen de array wordt mogelijk niet gerespecteerd en / of heeft niet veel betekenis, maar mag in geen geval worden georiënteerd. In eenvoudige taken, op triviale gegevenssets, zijn er geen problemen en het algoritme kan worden geconfigureerd voor sequentiële verwerking, maar wanneer veel factoren het proces van het maken / bewerken van een array beïnvloeden, moet u zich concentreren op de inhoud.

Moderne 'juiste' elementen

Vanuit het standpunt van het gevestigde eigen concept, zonder rekening te houden met zelfs onvoorwaardelijk vergelijkbare talen, moet de PHP foreach-array onafhankelijk worden ontworpen, rekening houdend met een echte concrete taak.

Praktijk, wanneer er een gegeven is, maar deze heeft een index in de algemene verzameling van soortgelijke volgens een bepaald criterium, - het was gisteren.

De index werd de sleutel en de array kreeg vormassociatieve array. Dat wil zeggen, de sleutel verloor zijn sequentiële uniekheid (meestal was deze sequentieel: 0, 1, 2, ... n) en werd ook een waarde, maar een eenvoudige waarde (dat wil zeggen een sleutel) geassocieerd met de werkelijke waarde (dat wil zeggen de inhoud van het element). Het is vandaag, het is goed, maar niet perfect.

Dat is de reden waarom de foreach-lus door PHP wordt beschouwd als een alternatief voor een reguliere lus die is georiënteerd op reguliere arrays. Dit is allereerst en dit is erg belangrijk, omdat het hieruit volgt echte geldigheid van array-elementen, evenals hun sleutels!

Correcte arrays van reguliere elementen

Eerst was er een element, daarna twee elementen ... zo ontstond een reeks elementen en een cyclus door een reeks daarvan:

voor ($ i = 0; $ i

verwerkingsinstantie van elke $ aArrayName [$ i]

}

Vervolgens, in plaats van de gezichtsloze 0, 1, 2, ... n, kreeg het element zijn eigen naam - de sleutel, en vervolgens werden de arrays associatief en toen was de foreach-lus nodig - "elke lus":

foreach ($ aArrayName als $ xKey => $ xValue) {

verwerkingsinstantie van elke $ aArrayName [$ xKey] of $ xValue die hetzelfde is

}

Nu is het tijd dat de juiste elementen in de array komendat wil zeggen degenen die er alleen voor staan.Ze kennen zelf hun index, hun inhoud, hun plaats in de reeks, hebben de neiging hun eigen keuze van reeks te tonen en al deze mogelijkheden te delegeren aan de feitelijke reeks die ze bevat.

Dergelijke juiste arrays worden verwerktop zichzelf. Er is eenvoudigweg geen speciale noodzaak om voor elke lus en lus te gebruiken. Formeel staan ​​de syntaxis en semantiek dit al toe, de vraag is alleen de traagheid van het bewustzijn van de ontwikkelaar.

leuk vond:
0
Populaire berichten
Spirituele ontwikkeling
eten
Y