Počítače, Informačné technológie
Efektívne cykly foreach: PHP a správne polia
Informácie uvedené v poli, sa môže meniť hodnoty typu a ich veľkosť a počet prvkov, nie je vždy možné určiť vopred. Moderná programovania, najmä v distribuovanej forme prevedenie umožňuje vytvárať komplexné štruktúra dát, obsahu a vlastnosti môžu byť definované dynamicky na neobmedzene dlhú dobu, v dôsledku rôznych akcií alebo udalostí v inom poradí.
To nie je vždy možné vo fáze projektovania predpovedať proces prevádzky pre všetky možné zastúpenie a využívanie informácií, dynamiky ich vzhľadu a používanie.
Syntax obsahu
Pri formulovaní syntax foreach, PHP navrhla dva spôsoby prístupu k jednotlivým prvkom. Obaja nie sú závislé od typu kľúče, alebo typ hodnoty a môže byť emulované konvenčné cyklu. Navrhované uvažovať poľa ako na množstvo prvkov, ktorých počet sa spočiatku nebolo stanovené. Pole je možné konfigurovať za behu, ako kľúče, a bez neho. Pole prvok môže byť odstránený, kľúče môžu byť asociatívne a východiskové vzdelaní.
foreach ($ aArrayName ako $ xValue) {slučka teleso}
Táto konštrukcia vyžaduje foreach PHP slučky prejsť všetky prvky v rade. V tele premennej slučky $ xValue bude dôsledne trvať všetky hodnoty z poľa $ aArrayName v poradí, v akom boli pridané. Hodnoty kľúčové prvky nebudú dostupné.
foreach ($ aArrayName ako $ xKey => $ xValue) {slučky tela}
Aj tu plní konštrukcie foreach, PHP prehľadá celý obsah poľa, ale dvojica slučiek budú mať zodpovedajúce hodnoty ako premennej $ xValue a premenné $ xKey - kľúčový prvok.
sekvencia prvkov
Vnútri foreach PHP ponúkne obsah v poradí, v akom sú pridané prvky, ale ak by sa opakovali pridanie / odstránenie a pridáva niečo ku kľúčom, a niečo, bez toho aby ich najlepšie robiť prácu pri tvorbe pole s poľom s pozície sekvencie prvky, a na základe ich obsahu alebo kľúčov.
Z rôznych objektívnych dôvodov sekvencie vnútri súboru, nemôžu byť dodržané a / alebo môže príliš nezáleží, ale nemal by byť orientované v žiadnom prípade. V jednoduchých úloh na triviálnych súborov dát, žiadny problém, a algoritmus môže byť nastavená na sekvenčné spracovanie, ale pri vytváraní / úprava procesu poľa je ovplyvnený mnohými faktormi, by sa mala zamerať na obsahu.
Moderné "správne" prvky
Z hľadiska súčasného sebapoňatia, a to aj bez prihliadnutia na bezpodmienečné ako jazyky, musí byť PHP foreach pole navrhnutý samostatne s prihliadnutím ku skutočnej konkrétnu úlohu.
Prax, kedy je daný, a v tom, že je index v všeobecnom kolekcii súvisiacich produktov podľa špecifických kritérií - to bolo včera.
Index bol kľúč, a mala podobu radu asociatívnych polí. To je kľúč stratila svoj jedinečný seriál (zvyčajne boli konzistentné: 0, 1, 2, ... n) a tiež začal hodnotu, ale jednoduchá hodnota (tj kľúč) spojená s skutočnej hodnoty (tj obsah prvku). To je dnes, to je pravda, ale nie tak celkom.
To je dôvod, prečo je cyklus foreach PHP zvažuje ako alternatívu k normálnemu cyklu, sa zameral na konvenčných poliach. Je to predovšetkým, a to je veľmi dôležité, pretože to znamená, že skutočnú presnosť prvkov poľa, rovnako ako ich kľúče!
Pravé pole pravidelných elementov
Najprv bol prvok, potom dva prvky ... tak tam bol rad prvkov, a slučku cez pole tých:
pre ($ i = 0; i <$ počet ($ aArrayName); $ i ++) {
spracovanie telo každého $ aArrayName [$ i]
}
Potom prvok namiesto anonymné 0, 1, 2, ... n bude mať svoj vlastný názov - kľúč a potom sa stal asociatívne pole a potom potreboval slučky foreach - "cyklus pre každý":
foreach ($ aArrayName ako $ xKey => $ xValue) {
spracovanie telesá každej $ aArrayName [$ xKey] xValue $, alebo tým, že jeden a ten istý
}
Teraz nastal čas, kedy má rad príde správne prvky, teda tých, ktoré samy o sebe. Vedia, že váš kód, jeho obsah, jeho miesto v poradí majú tendenciu byť vaše vlastné voľba poradí a delegovať všetkých týchto možností svoje vlastné pole, ktoré ich obsahujú.
Tieto pravidelné polia sú spracované samostatne. Špeciálnymi potrebami v bežných cyklov a cyklov každého nebude jednoduché. Formálne, syntaxe a sémantika to už umožňujú, jedinou otázkou pre vývojárov zotrvačnosti vedomia.
Similar articles
Trending Now