PHP: Nizi v nizu. Pretvorite vrstice v polja in nazaj

Pretvarjanje podatkov iz enega pogleda v drugega je priljubljen, pogosto edini mehanizem za reševanje problema. Niz je preprost primer objekta. Line - naravna predstavitev informacij za prenos, obdelavo ali shranjevanje. Izkušnje in semantika v PHP: nizi, funkcije in skladenjski konstrukti, ki vam omogočajo ustvarjanje optimalnih rešitev za obdelavo informacij v obliki, v kateri je predstavljena.

Informacije: simboli, črte in podatki

V "čisti" obliki informacij - niz znakov, jezik ali zaporedje signalov. Pri programiranju se pojavijo vrstice, nizi in predmeti - to so različice umetnih struktur. Številke so tudi vrstice, vendar številke, ne znaki.


Pretvorba niza v niz PHP omogoča različne načine. Obstajata dve posebni funkciji, ki to naredita sami:
  • $ aArr = explode ('x', 'string');
  • $ aStr = implode ('y', $ aArr).
  • Prva funkcija najde znak ločila 'x' in ga deli v niz 'string'. Nastali niz dobi točno število elementov (vrstic) med znaki 'x'. Ločilo simbolov ni nujno klasično:
  • vejica;
  • točka;
  • podpičje.
  • Vrstico lahko razdelite z podnizom ali s posebno kombinacijo znakov. Dolžina niza je strlen () v PHP, dolžina matrike je count (). V prvem primeru se upošteva število znakov, v drugem pa število elementov. Ker ločilni znak ni del elementov matrike, vrednost count ()bo enako številu delilnikov v pretvorjeni liniji minus ena.


    Z obrnjenim preoblikovanjem se nizi PHP pretvorijo v niz z ločilnim znakom (lahko je prazen), vsi podatki (številke in logični izrazi) pa se združijo v eno vrstico. Element matrike je lahko drugo polje, vendar mora programer posebej izvesti. Funkcija implode () je daleč od rekurzije.
    V tem primeru ni težko pretvoriti nizov PHP v vrstico, dokler v elementih ni drugega niza. Pri pretvorbi asociativnih elementov se ključne informacije izgubijo. Še posebej, elementi "možganov" in "breskev" bodo prikrajšani za svoje ključe.

    Separatorji in ključi podatkov

    Ne predvidevajte razmejitve pika, vejice, dvopičja itd. - To je zasebni primer ločevanja podatkov med seboj. Ko se niz pretvori v PHP, večdimenzionalno polje ne bo izšlo, asociativni indeksi pa bodo prišli od nikoder. Pri razčlenjevanju vrstice po ločilu se vrstica vedno izpiše. Vendar to ni razlog, da bi se pogovarjali o tem, kaj je bilo doseženo. Po eni vrstici v sestavljene elemente lahko greste še dlje.
    Na primer, obstajal je odstavek, v njej je bilo več stavkov (ločilo ". Je točka"), v stavku več stavkov (razmejilniki, "- vejica,"; - - podpičje. - točka), besede (ločilo "- prostor,", "- vejica,"; "- pika -." - "pika"). S takim razvrščanjem v PHP-ju bo večdimenzionalna matrika preprosto izšla, vendar bo algoritem zelo grda: število ločil se povečuje, pomanjkanje komunikacije med sosednjimi odstavki pa zagotavlja podvajanje.stavki, besedne zveze in besede.
    Rastavitev niza, lahko takoj pretvorite zaporedja številk, logične vrednosti pa so resnične in lažne. Toda to, še posebej, ključne informacije še vedno ne bodo pojavile, ker kot ključ - je smiselno, stroj lahko ustvari le numerični indeks.

    Kompozitni delilniki

    Sklepanje niza PHP v nizu se pogosto uporablja za uradne namene. Konfiguracijska datoteka je tradicionalno zapisana po vrstnem redu, ime vrednosti pa ločuje znak ali dvopičje. S to rešitvijo se izhodni niz v PHP-ju izvede v datoteki, ki samodejno razdeli črte in samodejno vrne asociativne nize z obratnim prepoznavanjem. Pri branju datoteke programator prejme niz in vsako vrstico deli na "=" ali ":", prejme ime in njegovo vrednost. Zelo priljubljena manipulacija, čeprav bolj sodobna uporaba XML-označevanja na preprost način, da lahko poleg imen in vrednosti shranite in obnovite dodatne podatke, na primer atribute spremenljivk.
    V primeru z odstavki (npr. Naravno besedilo za izdelavo slovarja ali rezultat razčlenjevanja za ustvarjanje vzorca podatkov), to ni specifičen postopek za pretvorbo niza v polje, temveč integrirana rešitev za vse odstavke ali bloke informacij. Običajno taka naloga zahteva povratno odločitev, ko bo treba oblikovati "niz" podatkov za iskanje informacij ali varnostno kopiranje linije.

    Razstavljanje in sestavljanje nizov - potrjevanje podatkov

    V PHP so zaporedja vrstic natančna rešitev. Če imajo izvorne informacije sintaktične napake, je odvečvrzeli, napačni znaki, potem ne bodo razstavljeni. Rezultat preoblikovanja izvornih informacij z nepisanimi zakoni o programiranju je strogo formalen in rezultat bo jasno urejen na policah.
    Obratni postopek vam bo omogočil, da ustvarite pravilno začetno linijo. Če primerjamo obseg izvirnih informacij in rezultat inverznega preoblikovanja, potem lahko naredimo zaključke o tem, kje so bile napake narejene ali je prišlo do izgube podatkov. V PHP-ju lahko dolžina matrike v kontekstu začetne dolžine niza omogoči risanje potrebnih zaključkov.

    Oznake časa, datuma in dogodkov

    Pri razvoju odgovornih projektov pri ustvarjanju nadzornih objektov, kot so čas ali dogodki, je niz en pogled na podatke in matrika je drugačna. Toda pri uporabi so enakovredne. Kadar je potrebno izvesti matematične ali logične izračune, programator manipulira z matriko, ko je potrebno shraniti podatke, uporablja možnost niza.
    Indeksi dostopa do polj zbirke podatkov so prava praksa skupnega delovanja MySQL in PHP, nizov v nizu = en indeks nad vrsticami več tabel zbirke podatkov. Če baza podatkov vsebuje ducat tabel, in v vsaki tabeli vrstic lahko izberete s kombinacijo imen (vrednosti) v določeni kombinaciji, potem ko ste oblikovali polja dostopa do vrstic, lahko kasneje dostopate do njih po algoritmu indeksa, ne pa iz iskanja v bazi podatkov .

    Preoblikovanje matrike v niz lahko štejemo kot algoritem za oblikovanje želenega indeksa, medtem ko se vsebina matrike sploh oblikuje pod nadzorom.drugih dogodkov ali dejanj uporabnika.

    Združevanje nizov

    Funkcije PHP omogočajo prosto upravljanje z nizi. Vendar je vedno naloga izdelave vzorca edinstvenih podatkov ali iskanja podatkov v matriki. Prvi problem je rešen s ponavljajočim se načinom: premakne se matrika (ali več nizov) in oblikuje se niz edinstvenih vrednosti - očitna rešitev, vendar ne najbolj učinkovita. Iskanje podatkov v matriki je tudi zanka, in če obstaja veliko elementov, bo zanka dovolj dolga in traja precej časa. Polje lahko pošljete v niz in uporabite funkcijo strpos (), da poiščete vnos zahtevanega elementa, vendar bo to povzročilo težavo pri odkrivanju napačnega vnosa. Na primer, iskali smo besedo "pladenj", vendar smo našli njen vnos v besedo "kladivo". Takšne napake se lahko znebite, če so vsi elementi matrike združeni v vrstico s posebnim ločilom, kar bo preprečilo negotovost. Če je bila črta "[pladenj]" in "[kladivo]", potem ne bo nobenih težav pri iskanju. Vendar ni nobenega zagotovila, da funkcija realnih podatkov strposp () deluje hitreje kot zanka, zgrabi elemente matrike.

    Rešitev za objekt: nizi + linije

    Najboljša rešitev je, če niz ali niz neodvisno izvede pravilno dejanje. Če nekoliko zapletajo polja in poenostaviti vrstice, saj je prvi - to je zasebni primer predmeta, in drugi - to je tradicionalna serializacija, potem bo vsakdo ukvarjajo z njihovim poslovanjem.
    Ob pravem času je objekt matrika in ko je niz potreben, bo to niz. Ni nujno, da ima hkrati objekt in matriko ter niz. Lahko zgradite edinstvenohitra podatkovna struktura. In logika "array" in "string" za izvedbo metod objekta. Objektno usmerjen pristop poenostavi rešitev številnih nalog obdelave podatkov niza, vam omogoča, da se ne osredotočite na matrike, cikle in funkcijo obdelave nizov PHP samega.

    Dinamika pomena

    Obe vrstici in nizi - to je pravi občutek realnosti, področje uporabe, naloge. Takšna naloga ni - pošiljanje nizov PHP v vrsto. Vendar pa obstaja naloga, da dobimo odstavek (stavki, stavki, besede, številke) na podlagi rezultatov, pridobljenih v prejšnjem algoritmu.
    Prejšnji algoritem nosi pomen in natančen izraz te vsebine je vsebovan v matriki. Naslednja faza algoritma je preoblikovanje pomena v drugo predstavitev, ki je primerna za nadaljnjo obdelavo ali aplikacijo. Glede na algoritem, kot dinamiko pomenskih in podatkovnih transformacij, je mogoče oblikovati zanesljive, razumljive in učinkovite transformacije.

    Sorodne publikacije