Cyfrifiaduron, Rhaglennu
PHP: amrywiaeth yn y rhesi. Chwilio mewn amrywiaeth PHP
Rhaglennu - yw'r cystrawen a semanteg. Mae'r cyntaf yn cael ei ddiffinio gan y rheolau iaith, a'r ail - profiad y datblygwr. O ran araeau datblygwr yn gallu llwytho semanteg gystrawen pwnc. Dyw hi ddim yn gwrthrych, ond nid yn yr ystyr draddodiadol y rhesi. PHP yn eich galluogi i greu araeau o newidynnau o wahanol fathau, yn cynnwys eu hunain. Gall elfen arae fod yn swyddogaeth, mae'n bosibl i lwytho amrywiaeth o algorithm go iawn, ystyr go iawn.
Syntax yn sefydlog, ond yn amrywio o fersiwn i fersiwn, ac nid ydynt bob amser yn cyd-fynd, hyd yn oed o'r gwaelod i fyny. Cludadwyedd o raglenni - lwyddiannau'r y ganrif ddiwethaf anghofio yn dda. Semanteg yn datblygu ac yn gallu bob amser yn cael eu cymhwyso nid yn unig i unrhyw fersiwn o unrhyw iaith; Mae wedi dod yn draddodiad i ddefnyddio cystrawen i fynegi'r ffaith nad oedd y rheolau iaith a ddarperir hyd yn oed yr oedd. Ar yr enghraifft hon, y gellir eu deall hawsaf araeau.
setiau adeiladu
Amrywiaeth yn PHP yn cystrawen gyfleus ac ymarferoldeb. Mae'r math hwn o ddata y gellir eu disgrifio o flaen llaw, ond mae'n aml yn gyfleus i greu araeau ar y hedfan yn ôl yr angen.
cyhoeddus $ aNone = array (); // amrywiaeth yn cael ei ddisgrifio ac yn cynnwys dim byd
cyhoeddus $ aFact = array ( 'afocado', "eirin gwlanog", "ceirios"); // amrywiaeth hwn o dair elfen
Creu amrywiaeth o broses ddilysu unrhyw amodau:
$ CSrcLine = 'llinyn dadansoddwyd data';
am ($ ff = 0; $ ff <13; $ i ++) {
$ CUserLine = inputUserLine (); // mewnbwn rhywbeth
os (checkFunc ($ cSrcLine, $ cUserLine) {
$ Aresult [] = 'Iawn'; // ychwanegu amrywiaeth PHP
} {Arall
$ Aresult [] = 'Na';
}
}
O ganlyniad i weithredu yr enghraifft hon yn creu amrywiaeth o 13 o elfennau y mae eu gwerthoedd yn unig 'Ie' neu linell 'Na'. Bydd elfennau yn cael mynegeion o 0 i 12. Gall yr un effaith ar gael drwy recordio ymlaen llaw "yn y dyfodol" PHP-arae i llinyn:
$ CFutureArray = '';
am ($ ff = 0; $ ff <13; $ i ++) {
$ CUserLine = inputUserLine (); // mewnbwn rhywbeth
os ($ i> 0) {$ cFutureArray = '|' .; }
os (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = 'Ie' .;
} {$ Arall cFutureArray = 'Na' .; }
}
$ Aresult = ffrwydro ( '|', $ cFutureArray);
araeau amlddimensiwn
Mae llawer o systemau rheoli cynnwys (SMS) gan ddefnyddio araeau "ar raddfa fawr." Ar y naill law, mae'n arfer da, ar y llaw arall, mae'n anodd i wneud cais. Hyd yn oed os yw'r awdur yn athrawiaeth glir "PHP-array yn y arae", yna ni ddylid ei gam-drin: Bydd yn rhaid i ddod i arfer â'r nodiant gymhleth, nid yn unig y datblygwr. Yn aml, ar ôl tra bydd yr awdur ei hun yn cofio o hyd, beth ysgrifennais i ddechrau:
dychwelyd array (
'View_manager' => array (41, 'template_path_stack' => array (__DIR__. '/../view',),
= 'Llwybrydd'> array ( 'llwybrau' => array ( 'sayhello' => array (
'Math' => 'Zend \ MVC \ Llwybrydd \ Http \ llythrennol',
'Opsiynau' => array ( 'llwybr' => '/ sayhello', 'ddiffygion' => array (
'Rheolwr' => 'Helloworld \ Rheolwr Index \', 'gweithredu' => 'mynegai',))))),
'Rheolwyr' => array (= 'invokables'> array (
'Helloworld \ Rheolwr Mynegai \' => 'Helloworld \ Rheolwr \ IndexController'))
);
Mae hwn yn sampl ymarfer «PHP-amrywiaeth yn y casgliad" o ZF 2. Peidio rhy ysbrydoledig ar y dechrau, ond mae'n gweithio, ac efallai yn gwneud fframwaith llwyddiannus hwn (enghraifft o'r modiwl ZendSkeletonApplication / modiwl / Helloworld / config / module.config.php).
Array - strwythur data pwysig wrth ddylunio a datblygu. Roedd ei fersiwn amlddimensiwn oedd unwaith yn boblogaidd, ond dros gyfnod o amser wedi aros angen am araeau o hyd at ddau neu dri dimensiwn. Mae'n haws ac yn fwy greddfol, ond o ran proffesiynoldeb pan fydd rhywbeth yn dechrau lluosi, felly rhywbeth wrth lunio y broblem, neu os nad yw'r cod yn wir.
Syml, yn hygyrch ac yn ddealladwy
Creu mewn amrywiaeth php yn y casgliad, y peth gorau i fod yn gyfyngedig i ddau neu dri lefel. Er gwaethaf y sefydlogrwydd a dibynadwyedd PHP yn gwneud camgymeriadau wrth brosesu cystrawen. Gyda hyn, gallwch oddef cael golygydd cod da, gyfarwydd i gyfrif cromfachau ac atalnodau yn gywir. Fodd bynnag, nid yw PHP yn rheoli mathau o ddata (mae hyn yn karma rhaglennu modern) ac yn caniatáu i'r datblygwr i ymarfer gwallau semantig.
Yr hawl i reoli y mathau o newidynnau neu eu syniadau eu hunain o semanteg trawsnewid mewn cystrawen - yn aml yn moethus. Mae'r sgript cyfradd colled, cod darllenadwyedd, rhwyddineb ... oherwydd codio bob amser yn hanfodol.
PHP Mae gan nodwedd negyddol sylweddol: y sgript yn unig yn hongian mewn achos o ansicrwydd. Nid yw pob debuggers ymdopi â digwyddiadau annisgwyl, ac mae llawer yn dibynnu ar brofiad a greddf y datblygwr. Mae'r algorithm symlach na gwybodaeth strwythuredig yn fwy hygyrch, y mwyaf o gyfleoedd i ddod o hyd i gamgymeriad neu nid yw'n caniatáu iddo.
Nodweddiadol, pan fydd y arrays cyntaf o ddewisiadau data yn cael eu cynnig yn y strwythurau ffurf - ymgais drwsgl i greu rhywbeth allan o wahanol fathau o ddata. Goroesodd y cyntaf ac enillodd cystrawen newydd pwerus, yr ail yn mynd i lawr mewn hanes.
araeau cysylltiadol Syml ac
Cofnodi amrywiaeth dau ddimensiwn - yw pâr arall o gromfachau "[" a "]", er enghraifft: $ aSrcData [1] [2] yn golygu mynediad at eitem [2] y rhesi [1], mewnbwn i'r casgliad $ aSrcData. Yn PHP, nid oes gofyniad i ddatgan o flaen llaw y data. Nododd Lyuboyu Mae gwybodaeth yn cael ei wirio bob tro am fodolaeth.
yn effeithiol iawn i greu rhywbeth dim ond pan fydd angen, yn y ffurf y mae ei angen, ac yn dinistrio pan nad yw bellach yn angenrheidiol. Gallai defnyddio fel allweddol (mynegai) enwau ystyrlon yn cael ei baratoi strwythur ddarllenadwy ystyrlon yng nghyd-destun y lleoliad presennol yn y algorithm:
$ AAnketa [ 'enw'] = 'Ivanov';
$ AAnketa [ 'oedran'] = 42;
$ AAnketa [ 'gwaith'] = 'Cyfarwyddwr';
$ AAnketa [ 'gweithredol'] = wir;
$ ATable [] = $ aAnketa;
$ AAnketa [ 'enw'] = 'Petrov';
$ AAnketa [ 'oedran'] = 34;
$ AAnketa [ 'gwaith'] = 'Rheolwr';
$ AAnketa [ 'gweithredol'] = wir;
$ ATable [] = $ aAnketa;
$ AAnketa [ 'enw'] = 'Afanasiev';
$ AAnketa [ 'oedran'] = 28;
$ AAnketa [ 'gwaith'] = 'Gwaith';
$ AAnketa [ 'gweithredol'] = ffug;
$ ATable [] = $ aAnketa;
$ Sone = implode. ( ",", $ ATable [1]). '
'; // ail PHP-arae i llinyn
. $ Sone = $ aTable [1] [ 'gwaith']; // ffonio i un elfen o'r ail arae
Canlyniad yr enghraifft hon (yr amrywiaeth cyntaf - yr allweddi arferol yno yn dechrau gyda 0, yr ail array - cysylltiadol, mae pedwar allweddi: 'enw', 'oes', 'gwaith', 'gweithredol'):
$ Sone = 'Petrov; 34; rheolwr; 1
Rheolwr ';
Yn yr enghraifft syml, gall un weld sut y gall proffil sefydledig yn cael eu cymhwyso i bob gweithiwr. Gallwch greu amrywiaeth o weithwyr gyda mynegeion o rifau personél ac os oes angen gweithiwr penodol, yna dewiswch ar y rhif personél.
Os oes gan eich sefydliad is-adrannau neu gael gwaith tymhorol, neu os ydych am i ddyrannu pensiynwyr gweithio ar wahân ... dylunio "PHP-array yn y array" gyfleus iawn, ond dylech byth yn cymryd rhan yn y dimensiwn. Mae dau neu dri dimensiwn - y terfyn ar gyfer atebion effeithiol.
Allweddi ar gyfer gweithio gyda arrays
Os cyn bwys, sut mae pethau'n gweithio, yn y blynyddoedd diwethaf, mae'r traddodiad yr oes binary, pan rhaglennydd eisiau gwybod yn union sut yr elfennau amrywiaeth yn cael eu storio, ac yn dymuno cael mynediad uniongyrchol iddynt, anghofio'n llwyr. Roedd llawer o encodings gymeriad, sy'n meddiannu yn y cof yw nid un beit. Mae'r gair "bit" mae bellach yn bosibl i gyfarfod yn unig mewn gweithrediadau bit-chwilio, ond chwilio am mewn amrywiaeth PHP - yn fater ar wahân. Gall mynediad i'r elfennau fod yn syml ac yn cysylltiadol. Yn yr achos cyntaf yr elfennau array (ar ôl unrhyw un o'r PHP mathau sydd ar gael) yn cael eu rhifo 0, 1, 2, ... Yn yr ail achos, y rhaglennydd yn nodi ei mynegai ei hun, y cyfeirir ato'n aml fel "allwedd" i gael mynediad i'r gwerth a ddymunir.
$ Aline [ "ffrwythau"] = "oren"; // yma PHP-allwedd array = "ffrwythau"
neu (popeth yn gywir ac yn unol â'r dudalen cod encoding):
$ Aline [iconv ( 'UTF-8', 'CP1251', "ffrwyth")] = iconv ( 'UTF-8', 'CP1251', "oren");
Pan fyddwch yn ychwanegu at yr amrywiaeth $ Aline Gwerth newydd:
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'eirin gwlanog');
$ Aline [iconv ( 'UTF-8', 'CP1251', "llysiau")] = iconv ( 'UTF-8', 'CP1251', "ciwcymbr");
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'eggplant');
o ganlyniad y ddolen:
foreach ($ Aline â $ ck => $ cv) {
$ Cone. = $ Ck. '='. $ Cv. '
';
}
Mae'n cael ei sicrhau drwy:
ffrwythau oren =
0 = eirin gwlanog
= Ciwcymbr llysiau
1 = eggplant
PHP-allweddol array wrth ychwanegu eitemau 'eirin gwlanog' a 'eggplant' a ffurfiwyd mewn dilyniant o 0, a bydd wrth nodi ei werth fod yn hafal i werth hon.
Cael gwared ar yr elfennau o'r casgliad
Y ffordd hawsaf i gael gwared ar yr elfen amrywiaeth PHP yn ystod prosesu. Yn yr achos hwn, er enghraifft, o ganlyniad y cylch gweithredu, yr amrywiaeth ffynhonnell yn cael ei weld, a ffurfiwyd un newydd, sydd yn syml, nid yr elfennau diangen yn cael eu cofnodi.
Gallwch wneud yn haws. Os yw'r enghraifft olaf i'w defnyddio:
playlist ($ Aline [0]); // ddileu'r elfen amrywiaeth PHP
bydd y canlyniad yn:
ffrwythau oren =
= Ciwcymbr llysiau
1 = eggplant
Gall opsiynau ar gyfer trin yr elfennau amrywiaeth yn cael ei adeiladu set. Er enghraifft, gan ddefnyddio'r swyddogaeth: implode () a ffrwydro (), yn cael ei ysgrifennu mewn amrywiaeth PHP-rhes gydag un divider, dadosod ac yn ôl i mewn i arae arall - drwy gwahanydd arall.
I wneud dim ond tynnu amrywiaeth PHP yn gyffredinol, dim ond ysgrifennu: playlist ($ Aline);
Mae hynny'n ddigon.
Chwilio yn y casgliad
PHP yn cynnwys arbennig swyddogaeth chwilio array_keys (), array_values (), array_key_exists (), a in_array (), ond cyn i chi benderfynu yn eu defnyddio, ystyried y posibilrwydd i chwilio am mewn amrywiaeth PHP ar ei ben ei hun.
Mae pob prosiect yn arbennig maes pwnc, araeau cynllunio, yn enwedig pan yn rhan o semanteg symud i'r gystrawen a gynrychiolir gan set o allweddi ystyrlon penodol iawn. Mae'n eich galluogi i gyflawni eich swyddogaeth chwilio eich hun, sydd hefyd yn gallu cael eu disgrifio yn ystyrlon.
Yn PHP, gallwch ffonio'r swyddogaeth, enw'r sy'n cael ei bennu yn ystod y gweithredu rhaglen. Enghraifft ymarferol iawn o lyfrgell PHPWord sy'n eich galluogi i ddarllen ac ysgrifennu dogfennau MS Word:
$ Elfennau = array ( 'Text', 'Inline', 'TextRun', 'Link', 'PreserveText', 'TextBreak',
,, 'Tabl' 'ListItemRun' 'ListItem', 'Delwedd', 'Gwrthrych', 'Troednodyn',
'Blwch testun' 'Endnote', 'checkbox', 'Field', 'Line');
$ Swyddogaethau = array ();
am ($ ff = 0; $ i
}
O ganlyniad, amrywiaeth o swyddogaethau y $ $ derbyn elfennau gwerthoedd array, hynny yw, enwau'r swyddogaethau gwirioneddol sy'n gwneud y gwaith gydag elfennau gwirioneddol o'r ddogfen.
Galw am $ elfennau [4] swyddogaethau ffwythiant $ [4], gallwch gael y chwiliad berffaith ac canlyniadau cyflym.
Trefnu eitemau
data dasg didoli yn bwysig, a PHP yn darparu nifer o swyddogaethau ar gyfer hyn: didoli (), rsort (), asort (), ksort (), ... Esgynnol ac elfennau disgyn o'r ddwy swyddogaeth olaf cadw berthynas rhwng allweddi a gwerthoedd. Weithiau mae'n gwneud synnwyr i gymysgu gwerthoedd y rhesi ar hap - siffrwd ().
Gan ddefnyddio'r swyddogaethau PHP i ddidoli, ni ddylem anghofio y gall yr aelodau wedi nid yn unig o fath gwahanol, ond cynnwys nid yn eithaf naturiol. Y peth cyntaf i fod yn ofalus iawn ynghylch didoli llinynnau sy'n cynnwys llythyrau Rwsia, dyddiadau didoli, a rhifau, sy'n cael eu hysgrifennu mewn gwahanol fformatau.
Y ffordd orau i ysgrifennu eich ateb delfrydol hun, o leiaf yn ystod y cam o brofi y sgript - yn didoli â llaw. Bydd yn helpu i ddarparu wrth gefn.
araeau Llinynnol
Gyda nodweddion implode () a ffrwydro () Gellir arae gael ei drawsnewid yn hawdd i mewn llinyn a mynd yn ôl. Mae'n caniatáu i chi storio data mewn cynrychiolaeth gryno ac yn eu defnyddio mewn cyflwr cyfforddus yn ôl yr angen.
Array, yn wynebu yn y llinell agor posibiliadau newydd. Er enghraifft, y dasg o chwilio am eiriau allweddol yn y testun yn mynnu nad oedd y ganfuwyd gan ei ychwanegu eto.
$ CSrcLine = 'Testun Text ListItemRun blwch testun ListItem blwch testun Gwirio Blwch checkbox blwch testun Troednodyn';
$ ASrc = ffrwydro ( '', $ cSrcLine);
$ CDstLine = '';
am ($ ff = 0; $ i
os (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = ffrwydro ( '] [', $ cDstLine);
$ Cone = implode ( ';', $ aDst);
O ganlyniad, mae amrywiol $ CONE yn derbyn dim ond y gwerthoedd o'r llinellau gwreiddiol sy'n cwrdd yno unwaith: "Testun; ListItemRun, textbox, ListItem, Gwirio, Box, checkbox, Troednodyn".
iaith Rwsieg yn yr allweddi a gwerthoedd
Nid ydym yn argymell i ddefnyddio unrhyw beth sy'n gysylltiedig â setiau nodau cenedlaethol yn gystrawennau cystrawennol. iaith Rwsieg, yn ogystal â phob ieithoedd eraill, cymeriadau sydd y tu hwnt az, ni fydd yn creu problem, bod yn y gronfa ddata, ond nid yn y cod cystrawen. Weithiau hyd yn oed yn dasg syml ar gyfer PHP «ddod amrywiaeth o argraffydd neu ar y sgrin" yn arwain at "gibberish" ac yn aml yn syml atal y sgript.
PHP - iaith ffyddlon a goddefgar o gymeriad cenedlaethol, ond mae llawer o sefyllfaoedd lle faint o'r gwaith a gyflawnir yn cael ei wneud eto dim ond oherwydd yn y lle iawn ar yr adeg iawn, bydd pop i fyny y allweddol, yn nodi na fydd hyn yn bosibl.
cystrawen PHP ac amgylchedd iaith
Cadwch mewn cof bod PHP gystrawen - mae hyn yn un, ond mae'r dyluniad cystrawen hwn "yn ymdrin" gyda cheisiadau eraill, y system weithredu â'r opsiynau caledwedd. Mae llawer o opsiynau, i ddarparu'r holl fydd byth yn bosibl.
Rheol "yn y cod yno mae'r cod yn unig, ac wrth y fynedfa, y tu mewn ac ar yr allbwn oes unrhyw wybodaeth" Bydd yn helpu i osgoi annisgwyl annisgwyl. Gall PHP-werth yn y arae fod yn "Rwsia", ond yr allwedd i yw am fod yn syntactically gywir, nid yn unig o safbwynt yr iaith, ond hefyd o ran ei amgylchedd gwaith.
Similar articles
Trending Now