RačunalnikiProgramiranje

PHP: polje v matriki. Iskanje v PHP paleto

Programiranje - je sintaksa in semantika. Prvi je opredeljena s pravili jezika, in drugi - izkušnje razvijalec. V zvezi z nizi razvijalec more naložiti predmet semantika sintakso. To ni predmet, vendar ne v tradicionalnem smislu matrike. PHP omogoča ustvarjanje nizov spremenljivk različnih vrst, tudi sami. Matrika element je lahko funkcija, je mogoče naložiti vrsto pravega algoritma, pravem pomenu.

Sintaksa je stabilen, vendar se razlikuje od različice do različice, in ne sme biti vedno združljivo, tudi od spodaj navzgor. Prenosljivost programov - tudi pozabljena dosežke preteklega stoletja. Semantika razvija in je vedno mogoče uporabiti ne le za vse različice katerem koli jeziku; To je postala tradicija, da uporabite sintakso za izražanje dejstva, da so pravila o jeziku, tudi sredstev ni. Na tem primeru, lahko nizi se najlažje razume.

Gradbeni sklopi

Množica v PHP je priročen sintakso in funkcionalnost. Ta vrsta podatkov je mogoče opisati v naprej, vendar pa je pogosto priročno ustvariti nize na letenje, kot je potrebno.

javni $ aNone = array (); // polje je opisan in vsebuje ničesar

javni $ aFact = array ( "avokado", "breskve", "češnja"); // ta niz treh elementov

Ustvarite paleto postopek preverjanja morebitnih pogojev:

$ CSrcLine = 'Niz analizirala podatke';

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

$ CUserLine = inputUserLine (); // vhod nekaj

če (checkFunc ($ cSrcLine, $ cUserLine) {

$ Aresult [] = 'Da'; // dodamo PHP niz

} Else {

$ Aresult [] = 'Ne';

}

}

Zaradi izvedbe tega primera bo ustvarilo niz 13 elementov, katerih vrednosti so zgolj "da" ali linijo "ne". Elementi bodo imeli indekse od 0 do 12. Enak učinek se lahko pridobiva z vnaprej posnete "prihodnje" PHP nizov v nizu:

$ CFutureArray = '';

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

$ CUserLine = inputUserLine (); // vhod nekaj

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

če (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = "Da" .;

} Else {$ cFutureArray = "ne" .; }

}

$ Aresult = eksplodira ( '|', $ cFutureArray);

večdimenzionalne nizi

Mnogi sistemi za upravljanje vsebine (SMS), ki uporabljajo nize "v velikem obsegu." Po eni strani je to dobra praksa, na drugi strani pa je težko uporabljati. Tudi če je avtor jasno doktrina "PHP-polje v matriki", potem ne bi smelo biti zlorabljen: ne samo, razvijalec bodo morali navaditi, da kompleksni zapis. Pogosto, čez nekaj časa se bo avtor sam dolgo spomnim, kaj sem na začetku napisal:

vrne niz (

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

"Usmerjevalnik => array ( 'poti' => array (" sayhello '=> matrika (

"Tip" => 'Zend \ MVC \ usmerjevalnik \ HTTP \ Literal "

'Možnosti' => array ( 'ni' => '/ sayhello', 'privzetke "=> array (

"Controller '=>' Helloworld \ Controller \ indeks", "ukrep" => "indeks"))))),

"Regulatorji '=> array (" invokables' => matrika (

"Helloworld \ krmilnik \ Indeks '=>' Helloworld \ krmilnik \ IndexController '))

);

To je vzorec praksa «PHP-matrika v matriki" z ZF 2. Ne preveč navdušujočem na prvi, ampak deluje, in morda je ta uspešno okvir (primer iz modula ZendSkeletonApplication / modula / Helloworld / config / module.config.php).

Array - pomembna struktura podatkov pri oblikovanju in razvoju. Njegova večdimenzionalni različica je bila nekoč priljubljena, sčasoma pa je ostala potreba po nizi do dveh ali treh dimenzijah. To je lažje in bolj intuitivno, ampak v smislu strokovnosti, ko se začne nekaj pomnoži, tako da nekaj v formulaciji problema, ali je koda ne velja.

Enostavno, dostopne in razumljive

Ustvarjanje v PHP array v matriki, je najbolje, da se omeji na dve ali tri ravni. Kljub stabilnost in zanesljivost PHP naredi napake pri obdelavi sintakse. S tem se lahko prenašajo z dobro kodo urednika, navajeni, da natančno štetje oklepaje in vejice. Vendar, PHP ne ureja vrste podatkov (to je karma sodobno programiranje) in omogoča razvijalec vaditi semantične napake.

Pravica do obvladovanja vrste spremenljivk ali njihovih lastnih idej transformacijskih semantike v skladnji - pogosto razkošje. Ta stopnja izgube skript, številka berljivost, enostavnost ... ker je kodiranje vedno ključnega pomena.

PHP ima pomemben negativen funkcijo: scenarij samo visi v primeru negotovosti. Ni vse Debuggers nepredvidenih dogodkov, in veliko je odvisno od izkušenj in intuicije razvijalec. Enostavnejši algoritem kot strukturirane informacije bolj dostopne, več možnosti, da bi našli napako ali tega ne dovoli.

Značilno je, ko so bili prvi nizi možnosti podatkov, na voljo v strukturah obliki - neroden poskus ustvariti nekaj iz različnih vrst podatkov. Prvi preživel in dobil močan novo sintakso, drugi je šel v zgodovino.

Preproste in asociativne nize

Snemanje dvodimenzionalni niz - je še en par oklepajev "[" in "]", na primer: $ aSrcData [1] [2] pomeni dostop do elementa [2] array [1], vhodni matriki $ aSrcData. V PHP, se ne zahteva, da vnaprej razglasi podatkov. Lyuboyu navedeno je vedno mogoče preveriti obstoja.

Zelo učinkovito ustvariti nekaj le, če je to potrebno, v obliki, v kateri je to potrebno, in uničena, ko je ne bo več potrebno. Uporaba kot ključni (indeks) pomenljiva imena, se lahko pripravimo berljivo strukturo pomembno v okviru trenutne lokacije v algoritmu:

$ AAnketa [ 'ime'] = 'Ivanov';
$ AAnketa [ 'starost'] = 42;
$ AAnketa [ 'delo'] = 'direktorja;
$ AAnketa [ 'aktivna'] = true;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'ime'] = 'Petrov';
$ AAnketa [ 'starost'] = 34;
$ AAnketa [ 'delo'] = 'direktor';
$ AAnketa [ 'aktivna'] = true;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'ime'] = 'Afanasiev';
$ AAnketa [ 'starost'] = 28;
$ AAnketa [ 'delo'] = 'Delo';
$ AAnketa [ 'aktivna'] = false;
$ ATable [] = $ aAnketa;

$ Sone = implodiral. ( ";", $ ATable [1]). "
'; // drugi PHP array niz
. $ Sone = $ aTable [1] [ 'dela']; // klic z enim elementom drugega niza

Rezultat tega primera (prva matrika - običajne tipke tam se začne z 0, drugi niz - asociativne, obstajajo štiri tipke: "ime", "starost", "delo", "aktivno"):

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

V tej preprosti primer, lahko vidite, kako se določi profil lahko uporablja za vse zaposlene. Lahko ustvarite niz zaposlenih z indeksi števila zaposlenih, in če je potrebno biti še posebej zaposleni, nato pa jo izberite na število osebja.

Če ima vaša organizacija oddelkov ali imajo sezonsko delo, ali če želite dodeliti ločeno delovne upokojenci ... dizajn "PHP-polje v matriki" zelo priročen, vendar se nikoli ne da se vključijo v dimenziji. Dva ali tri dimenzije - meja za učinkovite rešitve.

Tipke za delo z nizi

Če pred važno, kako stvari delujejo, v zadnjih letih se je tradicija binarnega dobe, ko programer je želel natančno vedeti, kako se shranjujejo elementi matrike, in želel, da jih imajo neposreden dostop, je popolnoma pozabil. Tam je bilo veliko znakov kodiranj, ki zasedajo v pomnilniku ni en bajt. Beseda "bit", je zdaj mogoče izpolniti le v malo-iskalne operacije, vendar pa je iskanje v PHP paleto - je ločeno vprašanje. Dostop do elementov lahko enostavno in asociativna. V prvem primeru so elementi matrike (ki imajo katero koli od razpoložljivih PHP) oštevilčene 0, 1, 2, ... V drugem primeru, programer določa svoj indeks, pogosto imenovan kot "ključ" za dostop do želene vrednosti.

$ Aline [ "sadje"] = "oranžna"; // tukaj PHP-ključ niz = "sadje"

ali (vse, kar je pravilno in v skladu z oznako strani kodiranja):

$ Aline [iconv ( "UTF-8", "CP1251", "sadje")] = iconv ( "UTF-8", "CP1251", "oranžna");

Ko dodate v polja $ Aline novo vrednost:

$ Aline [] = iconv ( "UTF-8", "CP1251", "breskev");
$ Aline [iconv ( "UTF-8", "CP1251", "rastlinsko")] = iconv ( "UTF-8", "CP1251", "kumare");
$ Aline [] = iconv ( "UTF-8", "CP1251", "jajčevca ');

kot posledica zanke:

foreach ($ Aline kot $ ck => $ cv) {
$ Stožec. = $ Ck. '='. $ Cv. "
';
}

To se dobi z:

oranžno sadje =
0 = breskev
= Zelenjavni kumara
1 = jajčevci

PHP-ključ polje pri dodajanju elementov «breskev" in "jajčevec", nastalo zaporedno od 0, in pri določanju njene vrednosti bo enaka tej vrednosti.

Odstranjevanje elementov iz matrike

Najlažji način za odstranitev PHP array element je v obdelavi. V tem primeru, na primer, zaradi cikla izvršitve, vir polje je gledati, in oblikovala novo, ki je preprosto nepotrebne elementi niso zabeležili.

To lahko storite lažje. Če je zadnji primer za uporabo:

nastavljen ($ Aline [0]); // odstraniti PHP array element

rezultat bo:

oranžno sadje =
= Zelenjavni kumara
1 = jajčevci

Možnosti za manipulacijo z elementi matrike se lahko izdela niz. Na primer, z uporabo funkcije: implozije () in eksplodirajo (), lahko zapišemo v PHP vrstice matrike z enim razdelilcem, razstaviti in nazaj v drugi matriki - drug separatorja.

Da preprosto odstraniti PHP niz kot celoto, samo napisati: nenastavljeno ($ Aline);

To je dovolj.

Iskanje v matriki

PHP vsebuje posebno funkcijo iskanje array_keys (), array_values (), array_key_exists (), in in_array (), ampak preden se odločite za njihovo uporabo, je treba razmisliti o možnosti, da poiščejo v PHP paleto sama.

Vsak projekt ima določeno predmetno področje, oblikovane nize, še posebej, kadar je del semantike pomaknilo na sintakso in z vrsto zelo posebnih pomembnih ključev predstavlja. To vam omogoča, da opravlja svojo funkcijo iskanja, ki ga je prav tako mogoče opisati smiselno.

V PHP, lahko pokličete funkcijo, katere ime se določi med izvajanjem programa. Zelo praktičen primer PHPWord knjižnico, ki omogoča branje in pisanje MS Word dokumente:

$ Elementi = array ( "Besedilo", "Inline", "TextRun", "link", "PreserveText", "TextBreak"
"Listitem", "ListItemRun", "Tabela", "Image", "predmet", "Opomba",
"Končno opombo", "potrditveno polje", "učbenik", "na terenu", "Line");

$ Funkcije = array ();

za ($ i = 0; $ i $ Funkcije [$ i] = 'dodati'. $ Elementi [$ i];
}

Kot rezultat, niz funkcij $ prejeli vrednosti matrike elementov $, kar pomeni, da imena dejanskih funkcij, ki opravljajo delo s pravimi elementi dokumenta.

Klicanje $ elementi [4] Funkcija $ funkcije [4], lahko dobite popoln iskanje in hitre rezultate.

Razvrsti postavke

Podatki sortiranje naloga je pomembna, in PHP ponuja več funkcij za to: vrsta (), rsort (), asort (), ksort (), ... naraščajoči in padajoči elementi zadnjih dveh funkcij ohranitev razmerja med ključe in vrednosti. Včasih je smiselno, da se pomešajo vrednosti matrike naključno - shuffle ().

Uporaba funkcij PHP rešiti, ne smemo pozabiti, da lahko člani, ne le na drugačen način, vendar ne povsem naravno vsebine. Prva stvar, ki se zelo previdni sortiranje nizov, ki vsebujejo ruske črke, sortiranje datuma in številke, ki so napisane v različnih formatih.

Najboljši način, da napišete svoje idealno rešitev, vsaj v fazi testiranja scenarij - je ročno razvrščanje. To bo pomagalo zagotoviti nepredvidenih.

String nizi

S funkcije implode () in eksplodirajo () polje lahko enostavno pretvori v niz in dobil nazaj. To vam omogoča shranjevanje podatkov v kompaktnem zastopanje in jih razporedi v udobnem stanju, kot je potrebno.

Array, s katerimi se sooča v skladu odpira nove možnosti. Na primer, naloga iskanje ključnih besed v besedilu zahteva, da se ugotovi, da ni bil spet dodali.

$ CSrcLine = "Besedilo Besedilo ListItemRun učbenik Listitem učbenik potrditveno polje potrditveno polje učbenik opomb ';

$ ASrc = eksplodira ( '', $ cSrcLine);
$ CDstLine = '';

za ($ i = 0; $ i <štetje ($ aSrc); $ i ++) {
$ CFind = '['. $ ASrc [$ i]. '] ";
if (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = eksplodira ( '] [', $ cDstLine);

$ Stožec = implodiral ( ';', $ aDst);

Kot rezultat, spremenljivka $ CONE prejeli le vrednosti iz originalnih linij, ki izpolnjujejo tam enkrat: "besedilo; ListItemRun; učbenik; Listitem Preveri, Polje, potrditveno polje, opomba".

Ruski jezik v ključe in vrednosti

To ni priporočljivo uporabljati vse, kar je povezano z nacionalnimi nabori znakov v skladenjskih konstrukcij. Ruski jezik, pa tudi vsi drugi jeziki, liki, od katerih so izven az, ne bo problem, da je v bazi podatkov, vendar ne v kodo sintakso. Včasih celo preprosta naloga za PHP «prinesla vrsto tiskalnika ali na zaslonu" bi povzročila "žlobudranje" in pogosto preprosto ustaviti skript.

PHP - jezik zvest in strpna nacionalnega značaja, vendar pa obstaja veliko situacij, kjer ima količina opravljenega dela, da spet ne samo zato, ker na pravem mestu ob pravem času, bo pop up ključ, ugotoviti, kateri ne bo mogoče.

PHP sintakso in jezik okolja

Imejte v mislih, da je PHP sintakso - tole, ampak oblikovanje te sintakse "posel" z drugimi aplikacijami, operacijskega sistema z možnostmi strojne opreme. Obstaja veliko možnosti, da vsem nikoli ne bo mogoče.

Pravilo "v kodi je samo kodo, in na vhodu, v notranjosti in na izhodu je katera koli informacija" bo pomagalo izogniti nepričakovanih presenečenj. PHP-vrednost v matriki lahko "ruski", vendar je ključnega pomena za to je, da je sintaktično pravilna, ne le z vidika jezika, ampak tudi z vidika svojega delovnega okolja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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