RačunalaProgramiranje

PHP: niz u nizu. Tražiti u PHP niz

Programiranje - je sintaksa i semantika. Prvi je definiran pravilima jezika, a drugi - iskustva programera. U odnosu na nizovima programer može učitati predmet semantike sintaksu. To nije predmet, ali ne u tradicionalnom smislu niza. PHP vam omogućava da kreirate nizove varijabli različitih vrsta, uključujući i sebe. Element niza može biti funkcija, moguće je učitati niz realnih algoritam, pravo značenje.

Sintaksa je stabilna, ali varira od verzije do verzije, a ne mogu uvijek biti kompatibilni, čak i odozdo prema gore. Prenosivost programa - dobro zaboravljene dostignuća prošlog stoljeća. Semantika se razvija i uvek može da se ne primjenjuje samo na bilo koju verziju bilo kojem jeziku; To je postala tradicija da koristite sintaksu da izraze činjenicu da pravila jezika čak i ako nije. Na ovom primjeru, nizovi mogu se najlakše razumjeti.

setovi konstrukcija

Niz u PHP-u je zgodan sintakse i funkcionalnost. Ova vrsta podataka može se opisati unaprijed, ali je često praktično kreiranje nizova u hodu po potrebi.

javne $ anone = array (); // niz je opisan i ne sadrži ništa

javne $ aFact = array ( 'avokado', "breskva", "Cherry"); // ovaj niz od tri elementa

Stvoriti niz procesa verifikacije svim uslovima:

$ CSrcLine = 'string analizirali podatke';

for (i $ = 0; $ i <13; $ i ++) {

$ CUserLine = inputUserLine (); // ulaz nešto

if (checkFunc ($ cSrcLine, $ cUserLine) {

$ AResult [] = "Da"; // dodajte PHP niz

} Else {

$ AResult [] = 'Ne';

}

}

Kao rezultat izvršenja ovom primjeru će stvoriti niz od 13 elemenata čije vrijednosti su samo "Da" ili "Ne" linije. Elementi će imati indekse od 0 do 12. Isti efekat mogu se dobiti na prethodno snimljene "budućnost" PHP-niz u string:

$ CFutureArray = '';

for (i $ = 0; $ i <13; $ i ++) {

$ CUserLine = inputUserLine (); // ulaz nešto

if ($ i> 0) {$ cFutureArray = '|' .; }

if (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = 'Da' .;

} Else {$ cFutureArray = 'Ne' .; }

}

$ AResult = eksplodirati ( '|', $ cFutureArray);

višedimenzionalni nizovi

Mnogi sistemi Content Management (SMS) koristeći nizove "u velikoj meri." S jedne strane, to je dobra praksa, s druge strane, teško je da se prijave. Čak i ako je autor jasno doktrina "PHP-niz u nizu", onda ne bi trebalo da bude zlostavljano: ne samo programer će morati da se naviknu na kompleks zapis. Često, nakon nekog vremena sam autor će dugo pamtiti, ono što sam napisao na početku:

povratak niz (

'View_manager' => array (41, 'template_path_stack' => array (__DIR__. '/../view',),

'Router' => array ( 'rute' => array ( 'kaziZdravo' => array (

'Tip' => 'Zend \ Mvc \ Router \ Http \ Književno',

'Options' => array ( 'put' => '/ kaziZdravo', 'zadane' => array (

'Controller' => 'HelloWorld \ Controller \ indeks', 'akciju' => 'indeks',))))),

'Kontrolori' => array ( 'invokables' => array (

'HelloWorld \ Controller \ Indeks' => 'HelloWorld \ Controller \ IndexController'))

);

Ovo je uzorak praksa «PHP-niz u nizu" ZF 2. Ne tako inspirativan u početku, ali radi, a možda čini uspješan okvir (primjer iz modula ZendSkeletonApplication / modula / HelloWorld / config / module.config.php).

Array - važan strukture podataka u dizajnu i razvoju. Njegov višedimenzionalna verzija je nekad bila popularna, ali s vremenom je ostala potreba za nizove do dvije ili tri dimenzije. To je lakše i intuitivnije, ali u smislu profesionalnosti kada se nešto počne umnožavaju, tako nešto u formulaciji problema, ili kod nije slučaj.

Jednostavan, pristupačan i razumljiv

Stvaranje u PHP niz u nizu, to je najbolje da se ograniči na dva ili tri nivoa. Uprkos stabilnost i pouzdanost PHP čini greške u obradi sintakse. Sa ovim možete tolerirati imati dobar editor koda, navikli da precizno računati zagrade i zareze. Međutim, PHP ne kontroliše vrste podataka (to je karma moderan programiranje) i omogućava programer u praksi semantičke greške.

Pravo na kontrolu vrste varijabli ili svoje ideje transformacije semantike u sintaksi - često luksuz. Ova stopa gubitak skripta, kod čitljivost, olakšati ... jer kodiranje je uvijek neophodno.

PHP ima značajne negativne karakteristika: skripta samo visi u slučaju nesigurnosti. Nisu svi debageri nositi s nepredviđenim događajima, a mnogo ovisi o iskustvu i intuicija programera. Jednostavniji algoritam od strukturirane informacije dostupnije, veće su šanse za pronalaženje greške ili to ne dozvoljava.

Karakteristično je, kada je ponudio prvi nizova opcija podataka u obliku strukture - što je nespretan pokušaj da se stvori nešto iz različitih vrsta podataka. Prvi preživio i stekao moćne nove sintakse, drugi je otišao u istoriju.

Jednostavan i asocijativne nizove

Snimanje dvodimenzionalno polje - je još jedan par zagrada "[" i "]", na primjer: $ aSrcData [1] [2] znači pristup stavku [2] niza [1], ulaz na niz $ aSrcData. U PHP-u, ne postoji zahtjev da se unaprijed proglasi podataka. Lyuboyu navedene informacije mogu uvijek biti provjeren za egzistenciju.

Vrlo efikasno stvoriti nešto samo kada je to neophodno, u obliku u kojem je potrebno, i uništili kada to više nije potrebno. Koristeći kao ključ (indeks) smislene nazive mogu se pripremati čitljiv struktura smisla u kontekstu trenutne lokacije u algoritmu:

$ AAnketa [ 'ime'] = 'Ivanov';
$ AAnketa [ 'starost'] = 42;
$ AAnketa [ 'rad'] = 'direktora';
$ AAnketa [ 'aktivni'] = true;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'ime'] = 'Petrov';
$ AAnketa [ 'starost'] = 34;
$ AAnketa [ 'rad'] = 'Manager';
$ AAnketa [ 'aktivni'] = true;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'ime'] = 'Afanasiev';
$ AAnketa [ 'starost'] = 28;
$ AAnketa [ 'rad'] = 'Rad';
$ AAnketa [ 'aktivni'] = false;
$ ATable [] = $ aAnketa;

$ Sone = Implode. ( ";", $ ATable [1]). '
'; // drugi PHP-niz u string
. $ Sone = $ aTable [1] [ 'rad']; // poziv na jedan element drugog niza

Rezultat ovog primjera (prvi niz - uobičajene ključeve u njemu počinje sa 0, drugi niz - asocijativne, postoje četiri tipke: 'ime', 'starosti', 'rad', 'aktivan'):

$ Sone = 'Petrov; 34; manager; 1
Manager ';

U ovom jednostavnom primjeru, može se vidjeti kako je utvrđen profil može se primijeniti na sve zaposlene. Možete kreirati niz zaposlenih sa indeksa kadrova brojeva i ako bude potrebno jednog radnika, a zatim odaberite ga na broj zaposlenih.

Ako vaša organizacija ima podjele ili imaju sezonski rad, ili ako želite da izdvoji odvojeno rade penzioneri ... dizajn "PHP-niz u nizu" vrlo povoljno, ali nikada ne bi trebalo da se uključe u dimenziji. Dva ili tri dimenzije - ograničenje za rješenja.

Tipke za rad sa nizovima

Ako je prije bilo važno, kako se stvari rade, u posljednjih nekoliko godina, tradicija binarnog ere, kada je programer zanimalo tačno kako se elementi niza čuvaju, i poželio da ih imaju direktan pristup, potpuno zaboravljena. Bilo je puno karaktera kodiranja, koji zauzimaju u memoriji se ne jedan bajt. Riječ "bit" je sada moguće ispuniti samo u operacijama bit-pretraživanje, ali potraga za u PHP niz - je poseban problem. Pristup elementima može biti jednostavan i asocijativne. U prvom slučaju elemenata niza (koji imaju bilo koju od dostupnih vrsta PHP) su brojevima 0, 1, 2, ... U drugom slučaju, programer navodi vlastite indeks, često naziva kao "ključ" za pristup željenu vrijednost.

$ ALINE [ "voće"] = "narančasti"; // ovdje PHP-ključ niz = "voće"

ili (da sve bude ispravan iu skladu sa kodne stranice kodiranje):

$ Aline [iconv ( 'UTF-8', 'CP1251', "voće")] = iconv ( 'UTF-8', 'CP1251', "narančasti");

Kada se tome doda niz $ ALINE nove vrijednosti:

$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'breskva');
$ Aline [iconv ( 'UTF-8', 'CP1251', "biljni")] = iconv ( 'UTF-8', 'CP1251', "krastavac");
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'patlidžan');

kao rezultat petlje:

foreach ($ Aline kao $ ck => $ CV) {
$ Cone. = $ Ck. '='. $ Cv. '
';
}

Dobija se:

naranče voće =
0 = breskve
= Povrća krastavac
1 = patlidžan

PHP-ključ niz prilikom dodavanja stavke 'breskva' i 'patlidžan' formirana redom od 0, a pri navođenju njegova vrijednost će biti jednaka te vrijednosti.

Uklanjanje elemenata iz niza

Najlakši način za uklanjanje elementa PHP niz tijekom obrade. U ovom slučaju, na primjer, kao rezultat izvršenja ciklusa, izvor niza se pogledali, i formirao novu, koja je jednostavno nepotrebno elementi nisu snimljeni.

Možeš ti lakše. Ako je posljednji primjer za korištenje:

unset ($ Aline [0]); // ukloniti element PHP niza

rezultat će biti:

naranče voće =
= Povrća krastavac
1 = patlidžan

Mogućnosti za manipulaciju elemenata niza može se graditi set. Na primjer, koristeći funkciju: implodira () i eksplodirati (), mogu biti napisani u nizu PHP-nizu sa jednim šestar, rastavljaju i nazad u drugi niz - drugi separator.

Jednostavno uklanjanje PHP niz u cjelini, samo pisati: unset ($ Aline);

To je dovoljno.

Pretraga u nizu

PHP sadrži posebnu funkciju pretrage array_keys (), array_values (), array_key_exists (), i in_array (), ali prije nego što se odlučite da ih koriste, treba uzeti u obzir mogućnost da traži u PHP niz sam po sebi.

Svaki projekt ima posebnu predmetnom području, dizajniran nizovi, posebno kada je dio semantike preselio u sintaksi i predstavlja skup vrlo specifične smislene ključeve. To vam omogućuje da obavljaju svoju funkciju pretraživanja, što također može biti smisleno opisati.

U PHP-u, možete pozvati funkciju, čije ime se određuje tijekom izvođenja programa. A vrlo praktičan primjer PHPWord biblioteke koji vam omogućuje da čitati i pisati MS Word dokumente:

$ Elementi = array ( 'tekst', 'Inline', 'TextRun', 'Link', 'PreserveText', 'TextBreak',
'Listitem', 'ListItemRun', 'Table', 'Slika', 'Objekt', 'Fusnota',
'Endnota', 'ček', 'TextBox', 'Polje', 'linija');

$ Funkcije = array ();

for (i $ = 0; $ i $ Funkcije [$ i] = 'dodati'. $ Elements [$ i];
}

Kao rezultat toga, niz funkcija $ dobiti $ vrijednosti niza elemenata, to jest, imena stvarnih funkcija koje obavljaju rad sa stvarnim elementima dokumenta.

Pozivajući na $ elemenata [4] funkcija $ funkcije [4], možete dobiti savršen za pretraživanje i brze rezultate.

vrsta stavke

podaci zadatak sortiranje je važno, i PHP nudi nekoliko funkcija za to: vrsta (), rsort (), Asort (), ksort (), ..., noviji i silazno elemente potonje dvije funkcije očuvanja odnosa između ključeva i vrijednosti. Ponekad ima smisla da se miješaju vrijednosti niza nasumce - Shuffle ().

Koristeći PHP funkcije za sortiranje, ne treba zaboraviti da su članovi mogu imati ne samo drugačiji tip, ali ne sasvim prirodno sadržaj. Prva stvar koju treba biti vrlo oprezan oko sortiranje nizova koji sadrže ruska slova, datumi sortiranje i brojeva, koje su napisane u različitim formatima.

Najbolji način da napišete svoj idealno rješenje, barem u fazi testiranja skripta - je priručnik sortiranje. To će pomoći osigurati nepredviđene.

string nizovi

Sa karakteristikama implodira () i eksplodirati () niz može se lako može pretvoriti u string i vrati. To vam omogućuje da čuvaju podatke u kompaktnom predstavljanja i rasporedi ih u udobnom državi po potrebi.

Array, okrenut na liniji otvara nove mogućnosti. Na primjer, zadatak u potrazi za ključne riječi u tekstu zahtijeva da utvrđeno da nisu ponovo je dodao.

$ CSrcLine = 'Teletekst ListItemRun TextBox listitem TextBox Check Box ček TextBox Fusnota';

$ ASRC = eksplodirati ( '', $ cSrcLine);
$ CDstLine = '';

for (i $ = 0; $ i $ CFind = '['. $ ASRC [$ i]. ']';
if (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = eksplodirati ( '] [', $ cDstLine);

$ Cone = Implode ( ';', $ aDst);

Kao rezultat toga, varijabla $ CONE primaju samo vrijednosti iz originalne linije koje se tamo jednom: "Tekst; ListItemRun; TextBox; listitem; Provjerite; Box; ček; Fusnota".

Ruskog jezika u ključeve i vrijednosti

To se ne preporučuje za korištenje sve što je povezano sa nacionalnim skupova znakova u sintaktičke konstrukcije. Ruskog jezika, kao i sve druge jezike, likovi koji su izvan az, neće stvoriti problem, budući da u bazi podataka, ali ne u kodu sintaksi. Ponekad čak i jednostavan zadatak za PHP «donose niz štampača ili na ekranu" će dovesti do "besmislice" i često jednostavno zaustaviti skriptu.

PHP - jezik odani i tolerantni nacionalnog karaktera, ali postoje mnoge situacije u kojima iznos obavljenog posla mora opet samo zato što na pravom mjestu u pravo vrijeme će se pojaviti ključ, identificirati što neće biti moguće.

PHP sintaksa i jezika okoliš

Imajte na umu da PHP sintaksa - ovaj, ali dizajn ove sintakse "deal" sa drugim aplikacijama, operativni sistem sa mogućnosti hardvera. Postoje mnoge opcije, da pruža sve nikada neće biti moguće.

Pravilo "u kodu postoji samo kod, a na ulazu, iznutra i na izlazu postoji bilo kakva informacija" će pomoći da se izbjegne neočekivanih iznenađenja. PHP-vrijednost u nizu može biti "ruski", ali ključ je biti sintaktički ispravan, ne samo sa stanovišta jezika, već iu smislu svog radnog okruženja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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