KomputilojProgramado

PHP: tabelo en la tabelo. Serĉu en PHP tabelo

Programado - estas la sintakso kaj semantiko. La unua estas difinita de la reguloj de lingvo, kaj la dua - la sperto de la desarrollador. Koncerne al arrays ellaboranto povas ŝarĝi la temo semantiko sintakso. Ĝi ne estas objekto, sed ne en la tradicia senco de la tabelo. PHP permesas krei arrays de variabloj de malsamaj tipoj, inkluzive de si mem. Tabelo elemento povas esti funkcio, eblas ŝargi tabelo de reala algoritmo, vera signifo.

Sintakso estas stabila, sed varias de versio al versio, kaj eble ne ĉiam estos kongrua, eĉ de la fundo supren. Portabilidad de programoj - nu forgesis atingoj de la pasinta jarcento. Semantiko estas evoluiganta kaj povas esti aplikita ne nur al ajna versio de iu ajn lingvo; Ĝi fariĝis tradicio uzi sintakson por esprimi la fakton, ke la reguloj de lingvo eĉ provizis ne. En ĉi tiu ekzemplo, tabeloj povas esti plej facile komprenita.

konstruo aroj

Tabelo en PHP estas konvena sintakso kaj funkciojn. Tiu tipo de datumoj povas esti priskribita anticipe, sed estas ofte oportuna por krei arrays sur la muŝo drajvo.

publika $ aNone = array (); // tabelo estas priskribita kaj enhavas nenion

publika $ aFact = array ( 'avokado', "persiko", "ĉerizo"); // ĉi tabelo de tri elementoj

Krei tabelo de la konfirmo procezo de iu ajn kondiĉoj:

$ CSrcLine = 'teksto analizis datumojn';

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

$ CUserLine = inputUserLine (); // eniga ion

se (checkFunc ($ cSrcLine, $ cUserLine) {

$ AResult [] = 'Jes'; // aldoni PHP tabelo

} Alie {

$ AResult [] = 'Neniu';

}

}

Rezulte de ekzekuto de ĉi tiu ekzemplo kreos tabelo de 13 elementoj kies valoroj estas nur 'Jes' aŭ 'Ne' linio. Eroj havos indeksas de 0 al 12. La sama efiko povas esti ricevita per antaŭregistrita "estonteco" PHP-tabelo por kordo:

$ CFutureArray = '';

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

$ CUserLine = inputUserLine (); // eniga ion

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

se (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = 'Jes' .;

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

}

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

matricoj multidimensionales

Multaj enhavo mastrumado sistemoj (SMS) uzante arrays "sur grandioza skalo." Unuflanke, ĝi estas bona praktiko, aliflanke, estas malfacile apliki. Eĉ se la aŭtoro estas klara doktrino "PHP-tabelo en la tabelo", tiam gxi ne misuzis: ne nur la ellaboranto devos alkutimiĝi al la kompleksa skribmaniero. Ofte, post iom da tempo la aŭtoro mem longe memoras, kion mi skribis komence:

reveni array (

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

'Router' => array ( 'itineroj' => array ( 'sayhello' => array (

'Tipo' => 'Zend \ MVC \ Router \ Http \ Laŭvorta',

'Opcioj' => array ( 'vojo' => '/ sayhello', 'defaŭltoj' => array (

'Controller' => 'Helloworld \ Controller \ Indekso', 'ago' => 'indekso',))))),

'Controladores' => array ( 'invokables' => array (

'Helloworld \ Controller \ Indekso' => 'Helloworld \ Controller \ IndexController'))

);

Jen specimeno praktiko «PHP-tabelo en la tabelo" de ZF 2. Ne tro inspira unue, sed ĝi funkcias, kaj eble faras ĉi sukcesa kadron (ekzemplo de la modulo ZendSkeletonApplication / modulo / Helloworld / config / module.config.php).

Array - grava datumstrukturo dum la dezajno kaj disvolviĝo. Lia multdimensia versio iam populara, sed kun la tempo restis neceso tabeloj de ĝis du aŭ tri dimensioj. Estas pli facila kaj pli intuicia, sed en terminoj de profesionalismo kiam io komencas multipliki, do io en la formulado de la problemo, aŭ la kodo ne estas la kazo.

Simpla, atingebla kaj komprenebla

Kreante en php tabelo en la tabelo, ĝi estas bona por esti limigita al du aŭ tri niveloj. Malgraŭ la stabileco kaj fidindeco de PHP faras erarojn en la procesorado de sintakso. Kun ĉi vi povas toleri havanta bonan kodo redaktoro, kutimis precize kalkuli parentezoj kaj komoj. Tamen, PHP ne kontrolas la tipoj de datumoj (tio estas karmo moderna programado) kaj permesas la ellaboranto praktiki semantika eraroj.

La rajto kontroli la tipojn de variabloj aŭ propraj ideoj de transformo semantiko en sintakso - ofte lukso. Tiu perdo kurzo skribo, kodo legibilidad, faciligi ... ĉar kodigo estas ĉiam esenca.

PHP havas signifan negativa trajto: la skripto simple pendas en la okazaĵo de necerteco. Ne ĉiuj debuggers trakti neantaŭviditajn okazaĵojn, kaj multe dependas de la sperto kaj intuicio de la ellaboranto. La simpla algoritmo ol strukturita informo pli alirebla, pli ŝancojn por trovi eraro aŭ ne permesas ĝin.

Karakterize, kiam la unua arrays de datumoj ebloj estis proponitaj en la formo strukturoj - mallerta provo krei ion el malsamaj specoj de datumoj. La unua postvivis kaj gajnis potencan novan sintakson, la dua iris al la historio.

Simpla kaj asociaj tabeloj

Registrado du-dimensia tabelo - estas alia paro de krampoj "[" kaj "]", ekzemple: $ aSrcData [1] [2] signifas aliron al elemento [2] de la tabelo [1], enigo al la tabelo $ aSrcData. En PHP, ne ekzistas postulo por deklari anticipe la datumoj. Lyuboyu deklaris informo povas ĉiam esti kontrolata por ekzisto.

Tre efike por krei ion nur kiam ĝi estas necesa, en la formo en kiu ĝi estas necesa, kaj detruitaj kiam ĝi ne plu necesas. Uzante kiel ŝlosilo (indekso) signifoplenan nomoj povas esti preparita legebla strukturo signifoplenan en la kunteksto de la nuna loko en la algoritmo:

$ AAnketa [ 'nomo'] = 'Ivanov';
$ AAnketa [ 'aĝo'] = 42;
$ AAnketa [ 'laboro'] = 'Direktoro';
$ AAnketa [ 'aktiva'] = vera;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'nomo'] = 'Petrov';
$ AAnketa [ 'aĝo'] = 34;
$ AAnketa [ 'laboro'] = 'Manaĝero';
$ AAnketa [ 'aktiva'] = vera;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'nomo'] = 'Afanasiev';
$ AAnketa [ 'aĝo'] = 28;
$ AAnketa [ 'laboro'] = 'Laboro';
$ AAnketa [ 'aktiva'] = malvera;
$ ATable [] = $ aAnketa;

$ Sone = implode. ( ";", $ ATable [1]). '
'; // dua PHP-tabelo por kordo
. $ Sone = $ aTable [1] [ 'laboro']; // voki al unu elemento de la dua aro

La rezulto de ĉi tiu ekzemplo (la unua tabelo - la kutima klavoj en ĝi komenciĝas per 0, la dua tabelo - asocieca, estas kvar klavoj: 'nomo', 'o', 'laboro', 'aktiva'):

$ Sone = 'Petrov; 34; manaĝero; 1
Manager ';

En ĉi tiu simpla ekzemplo, oni povas vidi kiel establita profilon povas esti aplikita al ĉiuj dungitoj. Vi povas krei aron da oficistoj kun indicoj de dungitaro nombroj kaj se necese apartan oficisto, do elektu ĝin en la dungitaro nombro.

Se via organizo havas dividoj aŭ havas sezonajn verkon, aŭ se vi volas destini aparte laborante pensiuloj ... dezajno "PHP-tabelo en la tabelo« tre oportuna, sed vi devus neniam implikiĝi en la dimensio. Du aŭ tri dimensioj - la limo por efika solvoj.

Ŝlosiloj por labori kun tabeloj

Se antaŭe gravis, aferojn, dum la lastaj jaroj, la tradicio de la binara epoko, kiam programisto volis scii precize kiel la tabelo elementoj estas konservataj, kaj deziris havi ilin rekta aliro, tute forgesitaj. Tie estis multe da karaktero kodigoj, kiu okupi en la memoro ne unu bajto. La vorto "iom" nun eblas renkonti nur en iom-serĉo operacioj, sed la serĉado en PHP tabelo - estas aparta temo. Aliro al la elementoj povas esti simpla kaj asocieca. En la unua kazo la tabelo elementoj (havanta iun el la disponebla tipoj PHP) estas numeritaj 0, 1, 2, ... En la dua kazo, la programisto specifas propran indekso, ofte referita kiel "ŝlosilo" aliri la deziratan valoron.

$ ALINE [ "frukto"] = "oranĝa"; // tie PHP-klavon tabelo = "frukto"

aŭ (ĉiu por esti ĝustaj kaj konforme al la kodo paĝo kodado):

$ Aline [iconv ( 'UTF-8', 'CP1251', "frukto")] = iconv ( 'UTF-8', 'CP1251', 'oranĝa');

Kiam vi aldonas al la tabelo $ ALINE nova valoro:

$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'persiko');
$ Aline [iconv ( 'UTF-8', 'CP1251', "legomo")] = iconv ( 'UTF-8', 'CP1251', "kukumo");
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'melongeno');

rezulte de la ciklo:

foreach ($ Aline kiel $ ck => $ cv) {
$ Konuson. = $ Ck. '='. $ Cv. '
';
}

Ĝi akiras de:

oranĝa frukto =
0 = persiko
= Legomo kukumo
1 = melongeno

PHP-klavon tabelo aldoninte erojn 'persiko "kaj" melongeno' formis sinsekve de 0, kaj kiam preciziganta ĝia valoro estos egala al tiu valoro.

Forigado la elementoj de la tabelo

La plej facila maniero por forigi la PHP tabelo elemento dum procesante. En ĉi tiu kazo, ekzemple, kiel rezulto de la ekzekuto ciklo, la fonto tabelo estas vidita, kaj formis novan, kiu estas simple nenecesaj elementoj ne estas registrita.

Vi povas fari pli facila. Se la lasta ekzemplo uzi:

unset ($ Aline [0]); // forigi la PHP tabelo elemento

la rezulto estos:

oranĝa frukto =
= Legomo kukumo
1 = melongeno

Opcioj por manipulanta la tabelo elementoj povas esti konstruita aro. Ekzemple, uzante la funkcion: implode () kaj eksplodas (), povas esti skribita en PHP-vico tabelo kun unu dividanton, malmunti kaj reen en alia tabelo - de alia disigilo.

Por simple forigi PHP tabelo kiel tuto, simple skribu: unset ($ Aline);

Tio sufiĉas.

Serĉu en la tabelo

PHP enhavas specialan serĉo funkcio array_keys (), array_values (), array_key_exists (), kaj in_array (), sed antaŭ vi decidas uzi ilin, devus konsideri la eblon serĉi en PHP tabelo per si mem.

Ĉiu projekto havas apartan temon areon, desegnita sensilo, precipe kiam parto de la semantiko moviĝis al la sintakso kaj reprezentita de aro de tre specifa signifoplenan ŝlosilojn. Ĝi permesas vin fari vian propran serĉo funkcio, kiu ankaŭ povas esti priskribita signife.

En PHP, Vi povas voki la funkcio, la nomo de kiu estas determinita dum la programo ekzekuto. Tre praktika ekzemplo de PHPWord biblioteko kiu permesas legi kaj skribi MS Word dokumentoj:

$ Eroj = array ( 'Teksto', 'Inline', 'TextRun', 'Ligilo', 'PreserveText', 'TextBreak',
'ListItem', 'ListItemRun', 'Tablo', 'Bildo', 'Objekto', 'Piednoto',
'Piednoto', 'checkbox', 'fenestreto', 'Kampo', 'Linio');

$ Funkcioj = array ();

por ($ i = 0; $ i $ Funkcioj [$ i] = 'aldoni'. $ Eroj [$ i];
}

Rezulte, tabelo de funkcioj La $ ricevi $ valoroj tabelo elementoj, tio estas, la nomoj de la reala funkciojn kiuj plenumas la laboron kun vera elementoj de la dokumento.

Petante $ elementoj [4] funkcio $ funkcioj [4], Vi povas akiri la perfektan serĉon kaj rapidaj rezultoj.

Ordigi erojn

La tasko de ordiga la datumoj estas grava, kaj PHP provizas plurajn funkciojn por ĉi tiu: speco (), rsort (), asort (), ksort (), ... Supren kaj malsupren eroj de la lasta du funkciojn konservi rilatoj inter klavoj kaj valoroj. Kelkfoje havas sencon miksi la valorojn de la tabelo hazarde - shuffle ().

Uzante la PHP funkcioj por ordigi, ni ne forgesas ke la membroj ne nur malsama tipo, sed ne tute natura enhavo. La unua afero esti tre zorgema pri ordigado kordoj enhavas rusa literoj, ordigado datoj kaj nombroj, kiuj estas skribitaj en diversaj formatoj.

La plej bona maniero skribi vian propran idealon solvo, almenaŭ je tiu periodo de provi la skribo - estas manlibro ordigado. Ĝi helpos provizi eventualaĵoj.

String arrays

Kun trajtoj implode () kaj eksplodas () tabelo povas esti facile transformitaj en kordo kaj reiri. Ĝi permesas stoki datumoj en kompakta reprezento kaj disfaldi ilin en komforta stato drajvo.

Array, alfrontante en la linio malfermiĝas novaj ebloj. Ekzemple, la tasko de serĉi ŝlosilvortojn en la teksto postulas ke la trovitaj ne estis aldonita denove.

$ CSrcLine = 'Teksto Teksto ListItemRun fenestreto ListItem fenestreto Kontrolu Box markobutono fenestreto Piednoto';

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

por ($ i = 0; $ i $ CFind = '['. $ ASRC [$ i]. ']';
se (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = eksplodas ( '] [', $ cDstLine);

$ Konuson = implode ( ';', $ aDst);

Rezulte, variablo $ CONE ricevi nur la valoroj de la originalaj linioj kiuj kunvenas tie unufoje: "Teksto; ListItemRun; fenestreto; ListItem; Kontrolu; Skatolo; markobutonon; Piednoto".

Rusa lingvo en la klavoj kaj valoroj

Ĝi ne rekomendas uzi ion, kio estas konektita kun naciaj ludoj de karakteroj en sintaksaj konstruoj. Rusa lingvo, kaj ankaŭ ĉiujn aliajn lingvojn, la karakteroj de trans az, ne kreos problemo, estante en la datumbazo, sed ne en la kodo sintakso. Kelkfoje eĉ simplan taskon por PHP «alporti tabelo de la presilo aŭ sur la ekrano" kondukus al "stultaĵoj" kaj ofte simple haltigi la skribon.

PHP - lingvo lojala kaj toleremaj de la nacia karaktero, sed estas multaj situacioj kie la kvanto de laboro farita devas vidi denove nur ĉar en la ĝusta loko ĉe la ĝusta tempo ŝprucos la ŝlosilon, identigi kiu ne estas ebla.

PHP sintakso kaj lingvo medio

Memoru ke PHP sintakso - ĉi tiu, sed la dezajno de ĉi tiu sintakso "interkonsento" kun aliaj aplikoj, la mastruma sistemo kun la aparataro ebloj. Estas multaj ebloj, por havigi la tutan neniam estos ebla.

Regulo "en la kodo estas nur la kodo, kaj ĉe la enirejo, interne kaj ĉe la produktado estas ajna informo" helpos eviti neatenditan surprizoj. PHP-valoro en la tabelo povas esti "rusa", sed la ŝlosilo al ĝi estas esti sintakse ĝusta, ne nur de la vidpunkto de la lingvo, sed ankaŭ laŭ sia laboro medio.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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