ArvutidProgrammeerimine

PHP: massiiv massiivi. Otsi PHP massiivi

Programmeerimine - on süntaks ja semantika. Esimene on määratletud eeskirjad keele ja teine - kogemusi arendaja. Seoses massiivid arendaja saab laadida teema semantika süntaks. See ei ole objekt, kuid mitte traditsioonilises mõttes massiivi. PHP võimaldab teil luua massiivid muutujate erinevate, sealhulgas ise. Massiivi element võib olla funktsiooni, on võimalik laadida massiivi tegelikud algoritm, tegelik tähendus.

Süntaks on stabiilne, kuid varieerub versiooni versiooni ja ei pruugi alati olla kooskõlas, isegi alt üles. Kaasaskantavus programmid - hästi unustatud saavutusi viimase sajandi. Semantika areneb ja saab alati kohaldada mitte ainult mis tahes versioon tahes keeles; On saanud traditsiooniks, et kasutada süntaks väljendada asjaolu, et eeskirju keeles isegi ette ei olnud. Selle näiteks massiivid saab kõige kergemini arusaadav.

Ehitus komplekti

Massiivi PHP on mugav süntaks ja funktsionaalsust. See tüüp andmete saab kirjeldada ette, kuid see on sageli mugav luua massiivid lennult nii nagu vaja.

avaliku $ aNone = array (); // massiiv on kirjeldatud ja sisaldab midagi

avaliku $ aFact = array ( "avokaado", "virsik", "kirss"); // see massiiv kolme elemendiga

Loo massiiv kontrollimise protsessi kõigis tingimustes:

$ CSrcLine = "string analüüsis";

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

$ CUserLine = inputUserLine (); // sisend midagi

if (checkFunc ($ cSrcLine, $ cUserLine) {

$ Aresult [] = "Jah"; // lisada PHP massiivi

} Else {

$ Aresult [] = 'Ei';

}

}

Selle tulemusena hukkamise näide loob massiivi 13 elemente, mille väärtused on ainult "jah" või "ei" joon. Elements on indeksid 0 kuni 12. Sama efekti võib saada eelsalvestatud "tulevik" PHP-massiivi string:

$ CFutureArray = '';

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

$ CUserLine = inputUserLine (); // sisend midagi

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

if (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = "Jah" .;

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

}

$ Aresult = plahvatada ( "|", $ cFutureArray);

mitmemõõtmelise massiivi

Paljud sisu haldamise süsteemi (SMS) abil massiivid "grand skaalal." Ühelt poolt on see hea tava, teiselt poolt, on raske rakendada. Isegi kui autor on selge õpetus "PHP-array array", siis ei tohiks kuritarvitada: mitte ainult arendaja on harjuda kompleksi märge. Sageli mõne aja pärast autor ise on pikk mäleta, mida ma kirjutasin alguses:

tagasi array (

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

"Router '=> array (' marsruutide '=> array (' sayHello '=> array (

"Liik" => "Zend \ MVC \ Router \ Http \ grammatiline"

'Options' => array (trassi '=>' / sayHello ',' jätmisest '=> array (

"Controller" => "Helloworld \ Controller \ Index", "meetme" => "indeks",))))),

'Kontrollerid' => array ( 'invokables' => array (

"Helloworld \ Controller \ Index" => "Helloworld \ Controller \ IndexController"))

);

See on proov tava «PHP-array array" ZF 2. Mitte liiga inspireeriv alguses, kuid see toimib, ja võib-olla muudab see edukas raamistik (näiteks mooduli ZendSkeletonApplication / moodul / Helloworld / config / module.config.php).

Array - oluline andmestruktuur jooksul projekteerimine ja arendus. Tema mitmemõõtmeline versioon oli kunagi populaarne, kuid aja jooksul on jäänud vajadus massiivid kuni kaks või kolm mõõdet. See on lihtsam ja intuitiivsem, kuid nii professionaalsust kui midagi hakkab korrutades, et midagi probleemi formuleerimise või kood ei ole nii.

Lihtsad ja arusaadavad

Loomine PHP array array, see on parim piirdub kahe või kolme taset. Vaatamata stabiilsus ja usaldusväärsus PHP teeb vigu töötlemisel süntaks. Selle saate talu, millel on hea koodiredaktor, harjunud täpselt kokku lugeda sulgudes ja komadega. Kuid PHP ei hõlma andmete tüübid (see on karma kaasaegse programmeerimise) ja lubab arendajal harjutada semantiline vigu.

Õigus juhtida tüüpi muutujaid või oma ideid transformatsiooni semantika süntaks - sageli luksus. See kaotus määr skripti koodi loetavust, kergendada ... sest kodeerimine on alati oluline.

PHP on märkimisväärne negatiivne omadus: skript lihtsalt ripub Kahtluse korral. Mitte kõik debuggers toime ettenägematute sündmuste ja palju sõltub kogemusi ja intuitsiooni arendaja. Lihtsam algoritmi kui struktureeritud teabe kättesaadavust, seda rohkem võimalusi leida viga või ei luba seda.

Tüüpiline kui esimene massiivid andmete võimalusi pakuti kujul struktuurid - kohmakas katse luua midagi välja erinevaid andmeid. Esimene säilinud ja saadud uue võimsa süntaks, teine läks ajalukku.

Lihtne ja assotsiatiivne massiivid

Salvestamist kahemõõtmeline massiiv - on teine sulupaari "[" ja "]", näiteks: $ aSrcData [1] [2] tähendab juurdepääsu üksusele [2] massiivi [1] sisendi massiivi $ aSrcData. PHP, puudub nõue kuulutada ette andmeid. Lyuboyu märgitud teavet saab alati kontrollida olemasolu.

Väga tõhusalt luua midagi ainult siis, kui see on vajalik, vormis, kus see on vajalik, ja hävitada, kui see ei ole enam vajalik. Kasutades kui võti (indeks) mõtestatud nimed võib valmistada loetav struktuuri mõtestatud kontekstis praeguse asukoha algoritm:

$ AAnketa [ 'nimi'] = 'Ivanov ";
$ AAnketa [ "vanus"] = 42;
$ AAnketa [ 'töö'] = 'direktor ";
$ AAnketa [ "aktiivne"] = true;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'nimi'] = 'Petrov ";
$ AAnketa [ "vanus"] = 34;
$ AAnketa [ 'töö'] = 'Manager';
$ AAnketa [ "aktiivne"] = true;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'nimi'] = 'Afanasiev ";
$ AAnketa [ 'vanus'] = 28;
$ AAnketa [ 'töö'] = 'Work';
$ AAnketa [ 'aktiivne'] = false;
$ ATable [] = $ aAnketa;

$ Sone = implode. ( ";" $ ATable [1]). "
"; // teise PHP-massiivi string
. $ Sone = $ aTable [1] [ 'töö']; // helistada üks element teise massiivi

Selle tulemusena näiteks (esimene massiiv - tavaline võtmed seal algab 0, teise massiiv - assotsiatiivne on neli võtmed: "nimi", "vanus", "töö", "aktiivne"):

$ Sone = 'Petrov; 34; juht; 1
Manager ";

Selles lihtsas näites võib näha, kuidas kindlaks profiili võib kohaldada kõikidele töötajatele. Saate luua massiivi töötajate indeksitega personali arvu ja vajadusel konkreetse töötaja, siis vali see personali arvu.

Kui teie organisatsioon on jaotumise või on hooajaline töö, või kui soovite eraldada eraldi pensionäride ... disain "PHP-array array" väga mugav, kuid sa ei tohi kunagi saada kaasatud mõõde. Kaks või kolm mõõdet - on lubatud efektiivne lahendusi.

Võtmed töötamise massiivid

Kui enne Olulised, kuidas asjad töötavad, viimastel aastatel, traditsioon binaarse ajastu, kui programmeerija tahtis teada, kuidas täpselt massiivi elemendid on salvestatud, ja soovis neile otsest juurdepääsu sootuks. Seal oli palju merkkikoodauksia mis hõivavad mälu ei ole üks bait. Sõna "natuke" on nüüd võimalik täita ainult natuke-otsinguid, kuid otsing on PHP massiivi - on eraldi teema. Juurdepääs elemente saab olema lihtne ja assotsiatiivne. Esimesel juhul massiivi elemente (millel on mis tahes saadaolevate PHP) on nummerdatud 0, 1, 2, ... Teisel juhul, programmeerija täpsustab oma indeks, mida sageli nimetatakse "võti", et pääseda soovitud väärtus.

$ ALINE [ "puu"] = "oranž"; // siin PHP-klahvi massiivi = "puu"

või (kõik oleks õige ja kooskõlas kooditabeli kodeering):

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

Kui lisada massiivi $ ALINE uus väärtus:

$ Aline [] = iconv ( "UTF-8", "CP1251 ',' virsiku ');
$ Aline [iconv ( "UTF-8", "CP1251", "taimne")] = iconv ( "UTF-8", "CP1251", "kurk");
$ Aline [] = iconv ( "UTF-8", "CP1251 ',' baklažaani ');

tulemusena tsüklist

foreach ($ Aline vaid $ ck => $ cv) {
$ Koonuse. = $ Ck. '='. $ Cv. "
";
}

Seda saadakse:

apelsinist =
0 = virsiku
= Taimsed kurk
1 = baklažaani

PHP-klahvi massiivi lisamisel esemed "virsik" ja "baklažaan" moodustatud järjestikku 0, ja kui täpsustades selle väärtus on võrdne selle väärtuse.

Eemaldamine elemente massiivi

Lihtsaim viis eemaldada PHP massiivi element töötlemise ajal. Sel juhul näiteks kui täitmise tulemusena tsükli allikas massiiv on vaadatud, ning moodustanud uue, mis on lihtsalt tarbetu elemendid ei salvestata.

Seda saab teha lihtsamaks. Kui viimane näide kasutada:

fikseerimata ($ Aline [0]); // eemaldada PHP massiivi element

tulemus on:

apelsinist =
= Taimsed kurk
1 = baklažaani

Valikud manipuleerides massiivi elemente saab konstrueerida komplekti. Näiteks, kasutades funktsiooni: implode () ja plahvatada (), võib kirjutada PHP-rida massiivi ühe jagaja, lahti võtta ja uuesti teise massiivi - teine eraldaja.

Lihtsalt eemaldada PHP massiivi tervikuna, vaid kirjutada: fikseerimata ($ Aline);

Sellest piisab.

Otsi massiivi

PHP sisaldab erilist otsingu funktsiooni array_keys (), array_values (), array_key_exists (), ja in_array (), kuid enne kui otsustate neid kasutada, tuleks kaaluda võimalust, et otsida oma PHP massiivi omal.

Iga projekt on konkreetse teema, mille eesmärk massiivid, eriti kui osa semantika kolis süntaksi ja esindab komplekt väga spetsiifilised mõtestatud võtmed. See võimaldab teil täita oma otsingu funktsiooni, mis samuti võib kirjeldada otstarbekalt.

PHP, saate helistada funktsioon, mille nimi on määratud programmi täitmise käigus. Väga praktiline näide PHPWord raamatukogu, mis võimaldab lugeda ja kirjutada MS Word dokumendid:

$ Elements = array ( "Tekst", "Inline", "TextRun", "Link", "PreserveText", "TextBreak"
"Listitem", "ListItemRun ',' Tabel ',' Image ',' objekt ',' Allmärkus"
"Lõpumärkus", "Märkekastil", "tekstikasti", "Field", "Line");

$ Funktsioonid = array ();

for ($ i = 0; $ i $ Funktsioonid [$ i] = "Lisa". $ Elements [$ i];
}

Selle tulemusena massiivi funktsioonid $ saada $ väärtuste massiivi elemente, mis on nimed tegelikule talitlusele, et nimetatud töö reaalse elemendid dokumendi.

Üleskutse $ elemendid [4] funktsiooni $ funktsioonid [4], saad täiuslik otsida ja kiireid tulemusi.

Sorteeri esemed

andmete sorteerimine ülesanne on oluline, ja PHP pakub mitmeid funktsioone see: omamoodi (), rsort (), Asort (), ksort (), ... Kasvav ja kahanev elemendid kaks viimast funktsiooni säilitada suhteid võtmed ja väärtused. Mõnikord on mõistlik segada väärtuste massiivi juhuslikult - shuffle ().

Kasutades PHP funktsioone sorteerida, me ei tohiks unustada, et liikmed võivad olla mitte ainult eri tüüpi, kuid mitte päris loomulik sisaldus. Esimene asi olema väga ettevaatlik sorteerimine stringid sisaldavad vene tähed, sorteerimine kuupäevade ja arvude, mis on kirjutatud erinevates vormingutes.

Parim viis kirjutada oma ideaalne lahendus, vähemalt etapi katsetamine skript - on käsitsi sorteerimine. See aitab anda olukordadeks.

string massiivid

Mis funktsioone implode () ja plahvatada () massiivi saab kergesti ümber string ja saada tagasi. See võimaldab salvestada andmeid kompaktne esitus ja juurutada neid mugav riigi kui vaja.

Array, ees rida avab uued võimalused. Näiteks ülesanne märksõnu teksti nõuab, et leitud ei lisatud uuesti.

$ CSrcLine = "Tekst Tekst ListItemRun tekstikasti listitem tekstikasti Kontrolli Box Märkekastil tekstikasti Allmärkus;

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

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

$ Koonuse = implode ( ';', $ ADST);

Selle tulemusena muutuja $ CONE saavad ainult väärtusi algsest read, mis vastavad seal kord: "Tekst, ListItemRun; tekstikasti; listitem; Check; Box; Märkekastil; Allmärkus".

Vene keele võtmed ja väärtused

See ei ole soovitatav kasutada kõike, mis on seotud riikliku iseloomu telerit süntaktilised konstruktsioonid. Vene keeles, samuti kõik teised keeled, tegelased, mis on väljaspool az, ei tekita probleeme, olles andmebaasi, kuid mitte koodi süntaksit. Mõnikord isegi lihtne ülesanne PHP «tuua hulgaliselt printeri või ekraanil" tooks kaasa "plära" ja sageli lihtsalt lõpetada skripti.

PHP - keele lojaalne ja salliv riikliku iseloomuga, kuid seal on palju olukordi, kus töö mahtu on teha taas lihtsalt sellepärast õiges kohas õigel ajal ilmub võti, millised ei ole võimalik.

PHP süntaksi ja keelekeskkonnas

Pea meeles, et PHP süntaks - see üks, kuid konstruktsioon süntaks "deal" teiste rakendustega, operatsioonisüsteemi riistvara võimalusi. Seal on palju võimalusi, et teha kõik ei ole kunagi võimalik.

Reegel "kood on ainult kood ja sissepääsu juures, seest ja väljundis on igasugune teave" aitab vältida ootamatuid üllatusi. PHP-väärtus massiivi saab "vene", kuid võti on olla süntaktiliselt õige, mitte ainult seisukohast keele, vaid ka tema töökeskkond.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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