KompyutaProgramu

PHP: safu katika safu. Search katika safu PHP

Programming - ni syntax na semantiki. kwanza wa Idara na sheria za lugha, na ya pili - uzoefu wa developer. Kuhusiana na arrays developer unaweza kupakia somo semantiki syntax. Siyo kitu, lakini si kwa maana ya asili ya mkusanyiko. PHP inaruhusu kujenga arrays ya vigezo ya aina mbalimbali, ikiwa ni pamoja na wao wenyewe. safu ya vipengele inaweza kuwa kazi, inawezekana kupakia safu ya algorithm halisi, maana halisi.

Syntax ni imara, lakini inatofautiana kutoka toleo na toleo, na inaweza daima kuwa sambamba, hata kutoka chini kwenda juu. Urahisi wa kubeba ya mipango - vizuri wamesahau mafanikio ya karne iliyopita. Semantiki ni kuendeleza na unaweza daima kutumika si tu kwa toleo yoyote ya lugha yoyote; Imekuwa utamaduni wa kutumia syntax kueleza ukweli kwamba sheria za lugha hata iliyotolewa ni. On mfano huu, arrays inaweza kwa urahisi zaidi kueleweka.

seti Ujenzi

safu katika PHP ni syntax rahisi na utendaji. Hii aina ya data zinaweza hufafanuliwa mapema, lakini ni mara nyingi rahisi kuunda arrays ya kuruka kama inahitajika.

umma $ aNone = array (); // safu inaelezewa na ina kitu

umma $ aFact = array ( 'parachichi', "Peach", "cherry"); // hii safu ya mambo matatu

Kujenga safu ya mchakato wa ukaguzi wa hali ya yoyote:

$ CSrcLine = 'kamba kuchambuliwa data;

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

$ CUserLine = inputUserLine (); // pembejeo kitu

ikiwa (checkFunc ($ cSrcLine, $ cUserLine) {

$ AResult [] = 'Ndiyo', // kuongeza PHP safu

} Else {

$ AResult [] = 'No',

}

}

Kutokana na utekelezaji wa mfano itajenga safu ya mambo 13 ambao thamani ni tu 'Ndiyo' au 'No' line. Elements itakuwa na bahati kutoka 0 hadi 12. athari sawa inaweza kupatikana kwa kabla ya kumbukumbu ya "baadaye" PHP katika mkusanyiko wa kamba:

$ CFutureArray = '';

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

$ CUserLine = inputUserLine (); // pembejeo kitu

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

ikiwa (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = 'Ndiyo' .;

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

}

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

arrays multidimensional

Wengi mifumo ya kudhibiti maudhui (SMS) kwa kutumia arrays "kwa kiwango kikubwa." Kwa upande mmoja, ni vizuri mazoezi, kwa upande mwingine, ni vigumu kuomba. Hata kama mwandishi ni mafundisho wazi "PHP katika mkusanyiko katika safu", basi ni lazima kuwa vibaya: si tu developer itakuwa na kupata kutumika nukuu tata. Mara nyingi, baada ya muda mwandishi mwenyewe kwa muda mrefu kumbuka, nini niliandika awali:

kurudi array (

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

'Router' => array ( 'njia' => array ( 'sayhello' => array (

'Aina' => 'Zend \ MVC \ Router \ Http \ Halisi',

'Chaguo' => array ( 'Njia' => '/ sayhello', 'chaguo-msingi' => array (

'Mdhibiti' => 'Helloworld \ Mdhibiti \ Index', 'hatua' => 'index',))))),

'Controllers' => array ( 'invokables' => array (

'Helloworld \ Mdhibiti \ Index' => 'Helloworld \ Mdhibiti \ IndexController'))

);

Hii ni sampuli mazoezi «PHP katika mkusanyiko katika safu" ya ZF 2. Si pia msukumo mwanzoni, lakini ni kazi, na pengine hufanya mfumo huu wa mafanikio (mfano kutoka Moduli ZendSkeletonApplication / moduli / Helloworld / config / module.config.php).

Array - muhimu muundo data wakati wa kubuni na maendeleo. toleo lake multidimensional mara moja maarufu, lakini baada ya muda imebakia haja ya arrays kubwa ya mitazamo hadi mbili au tatu. Ni rahisi na rahisi, lakini kwa upande wa utaalamu wakati kitu kuanza kuzidisha, hivyo kitu katika uundaji wa tatizo, au kanuni si kweli.

Rahisi, kupatikana na kueleweka

Kujenga katika php safu katika safu, ni bora kuwa mdogo na kiwango mbili au tatu. Pamoja utulivu na kuegemea PHP hufanya makosa katika usindikaji wa syntax. Na hii unaweza kuvumilia kuwa nzuri code mhariri, wamezoea usahihi kuhesabu mabano na koma. Hata hivyo, PHP haina kudhibiti aina za data (hii ni karma programu kisasa) na inaruhusu developer kufanya mazoezi makosa semantic.

Haki ya kudhibiti aina ya vigezo au mawazo yao ya semantiki mabadiliko katika syntax - mara nyingi kifahari. Hii script hasara kiwango, kanuni readability, kupunguza ... kwa sababu coding daima muhimu.

PHP ina maana kipengele hasi: script tu lipo katika tukio la kutokuwa na uhakika. Si debuggers kila kukabiliana na matukio unforeseen, na mengi inategemea uzoefu na Intuition ya developer. algorithm rahisi kuliko habari muundo zaidi kupatikana, nafasi zaidi ya kupata hitilafu au hairuhusu hivyo.

Characteristically, wakati arrays kwanza ya chaguzi data walikuwa inapatikana kwa miundo fomu - jaribio clumsy kuunda kitu nje ya aina mbalimbali za data. kwanza alinusurika na kupata nguvu syntax mpya, pili alishuka katika historia.

Rahisi na associative arrays

Kurekodi safu ya pande mbili - ni mwingine jozi ya mabano "[" na "]", kwa mfano: $ aSrcData [1] [2] ina maana ya kupata faili [2] ya safu [1], pembejeo safu $ aSrcData. Katika PHP, hakuna sharti kutangaza mapema data. Lyuboyu alisema habari daima unaweza kuchunguzwa kwa kuwepo.

ufanisi sana kuunda kitu tu wakati ni muhimu, katika hali ambayo ni ya lazima, na kuharibiwa wakati ni muhimu tena. Kwa kutumia kama ufunguo (takwimu) majina ya maana inaweza kuwa tayari muundo someka maana katika mazingira ya eneo la sasa katika algorithm:

$ AAnketa [ 'jina'] = 'Ivanov';
$ AAnketa [ 'umri'] = 42;
$ AAnketa [ 'kazi'] Mkurugenzi '=;
$ AAnketa [ 'kazi'] = kweli;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'jina'] = 'Petrov';
$ AAnketa [ 'umri'] = 34;
$ AAnketa [ 'kazi'] = 'Meneja';
$ AAnketa [ 'kazi'] = kweli;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'jina'] = 'Afanasiev';
$ AAnketa [ 'umri'] = 28;
$ AAnketa [ 'kazi'] = 'Kazi';
$ AAnketa [ 'kazi'] = uongo;
$ ATable [] = $ aAnketa;

$ Sone = implode. ( ";", $ ATable [1]). '
'; // pili PHP katika mkusanyiko wa kamba
. $ Sone = $ aTable [1] [ 'kazi']; // wito wa moja ya kipengele cha safu ya pili

Kutokana na mfano huu (safu ya kwanza - funguo kawaida humo huanza na 0, safu ya pili - associative, kuna funguo nne: jina la ',' umri ',' kazi ',' kazi '):

$ Sone = 'Petrov, 34, meneja, 1
Meneja ';

Katika mfano huu rahisi, mtu anaweza kuona jinsi imara wasifu zinaweza kutumika kwa wafanyakazi wote. Unaweza kuunda safu ya wafanyakazi na fahirisi ya idadi ya wafanyakazi na ikiwa ni lazima mfanyakazi fulani, basi ichague na idadi ya wafanyakazi.

Kama shirika lako lina tarafa au kuwa na kazi za msimu, au kama unataka kutenga kando kazi wastaafu ... design "PHP katika mkusanyiko katika safu" rahisi sana, lakini kamwe kushiriki katika mwelekeo. Mbili au tatu vipimo - kikomo kwa ajili ya ufumbuzi wa ufanisi.

Keys ajili ya kufanya kazi na arrays

Kama kabla mattered, jinsi mambo kazi, katika miaka ya hivi karibuni, utamaduni wa enzi wa jozi, wakati programu alitaka kujua hasa jinsi mambo safu ni kuhifadhiwa, na alitaka kuwa nao kupata moja, wamesahau kabisa. Kulikuwa na mengi ya usimbaji wa vibambo, ambayo kuchukua katika kumbukumbu si byte moja. Neno "bit" ni sasa inawezekana kukutana tu katika shughuli kidogo-utafutaji, lakini kutafuta katika safu PHP - ni suala tofauti. Upatikanaji wa mambo inaweza kuwa rahisi na associative. Katika kesi ya zamani mambo array (kuwa mojawapo ya aina inapatikana PHP) ni kuhesabiwa 0, 1, 2, ... Katika hali ya pili, programu bayana index yake mwenyewe, mara nyingi hujulikana kama "muhimu" ya kupata thamani ya taka.

$ ALINE [ "matunda"] = "machungwa"; // hapa PHP ufunguo safu = "matunda"

au (kila kitu kuwa sahihi na kwa kufuata kanuni ukurasa encoding):

$ Aline [iconv ( 'UTF-8', 'CP1251', "matunda")] = iconv ( 'UTF-8', 'CP1251', "machungwa");

Unapoongeza safu $ ALINE thamani mpya:

$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'Peach');
$ Aline [iconv ( 'UTF-8', 'CP1251', "mboga")] = iconv ( 'UTF-8', 'CP1251', "tango");
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'mbilingani');

kutokana na kitanzi:

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

Ni kupatikana kwa:

matunda chungwa =
0 = Peach
= Mboga tango
1 = mbilingani

PHP ufunguo safu wakati wa kuongeza vitu 'Peach' na 'mbilingani' sumu sequentially kutoka 0, na wakati kubainisha thamani yake itakuwa sawa na thamani hii.

Kuondoa vipengele kutoka safu

Njia rahisi ya kuondoa kipengele PHP safu wakati wa usindikaji. Katika hali hii, kwa mfano, kutokana na utekelezaji mzunguko, safu chanzo ni kutazamwa, na sumu nyingine mpya, ambayo ni tu mambo yasiyo ya lazima hazikuandikwa.

Unaweza kufanya rahisi. Kama mfano wa mwisho ya kutumia:

bila kuwekwa ($ Aline [0]); // kuondoa kipengele PHP safu

Matokeo yake itakuwa:

matunda chungwa =
= Mboga tango
1 = mbilingani

Chaguzi kwa ajili ya kufanyia mambo safu inaweza kuwa yalijengwa seti. Kwa mfano, kwa kutumia kazi: kulipuka () na kulipuka (), inaweza kuandikwa katika PHP-mstari katika mkusanyiko na msuluhishi mmoja, disassemble na tena ndani ya safu nyingine - na separator nyingine.

Ili kufuta tu safu katika PHP kabisa, kutosha kuandika: bila kuwekwa ($ Aline);

Hiyo ni ya kutosha.

Search katika safu

PHP ina maalum tafuta kazi array_keys (), array_values (), array_key_exists (), na in_array (), lakini kabla ya kuamua kutumia yao, unapaswa kufikiria uwezekano wa kutafuta katika PHP safu yenyewe.

Kila mradi ina hasa somo eneo, iliyoundwa kwa arrays, hasa wakati ni sehemu ya semantiki wakiongozwa na syntax na inawakilishwa na seti ya funguo maalum sana ya maana. Ni inaruhusu wewe kufanya search yako mwenyewe kazi, ambayo pia inaweza kuelezea kikamilifu.

Katika PHP, unaweza kupiga kazi, jina la ambayo imedhamiria wakati wa utekelezaji mpango. mfano sana vitendo ya PHPWord maktaba hiyo utapata kusoma na kuandika hati MS Word:

$ Elements = array ( 'Nakala', 'Inline', 'TextRun', 'Link', 'PreserveText', 'TextBreak',
'ListItem', 'ListItemRun', 'Table', 'Image', 'Kitu', 'Tanbihi',
'Maelezo ya chini', 'checkbox', 'kisanduku cha maandishi', 'Field', 'Line');

$ Kazi = array ();

kwa ($ i = 0; $ i $ Kazi [$ i] = 'kuongeza'. $ Elements [$ i];
}

Matokeo yake, safu ya kazi $ kupokea $ maadili safu vipengele, yaani, majina ya kazi halisi zinazofanya kazi na mambo halisi ya hati.

Kupiga kwa $ mambo [4] kazi $ kazi [4], unaweza kupata search kamili na matokeo ya haraka.

Panga vitu

data kuchambua kazi ni muhimu, na PHP hutoa kazi kadhaa kwa ajili hii: aina (), rsort (), asort (), ksort (), ... wakipanda na vipengele kushuka ya kazi mwisho mbili kuhifadhi uhusiano kati ya funguo na maadili. Wakati mwingine ni mantiki kwa kuchanganya maadili ya safu bila mpangilio - shuffle ().

Kwa kutumia kazi PHP kutatua, tunapaswa kusahau kuwa wanachama wanaweza kuwa si tu ya aina mbalimbali, lakini maudhui si kawaida kabisa. Jambo la kwanza kuwa makini sana kuhusu kuchagua masharti zenye barua Kirusi, kupanga tarehe, na idadi, ambayo ni ya maandishi katika miundo mbalimbali.

njia bora ya kuandika bora yako mwenyewe ufumbuzi, angalau katika hatua ya kupima hati - ni mwongozo wa kuchagua. Itakuwa kusaidia kutoa dharura.

arrays string

Na sifa kulipuka () na kulipuka () safu inaweza kuwa rahisi kubadilishwa katika kamba na kupata nyuma. Ni utapata kuhifadhi data katika uwakilishi kompakt na kuwapeleka katika hali ya starehe kama inahitajika.

Array, inakabiliwa sambamba kufungua uwezekano mpya. Kwa mfano, kazi ya kutafuta maneno katika maandishi huhitaji found haikuongezwa tena.

$ CSrcLine = 'Nakala Nakala ListItemRun kisanduku cha maandishi ListItem kisanduku cha maandishi Angalia Box checkbox kisanduku cha maandishi Tanbihi';

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

kwa ($ i = 0; $ i $ CFind = '['. $ ASrc [$ i]. '];
ikiwa (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = kulipuka ( '] [', $ cDstLine);

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

Matokeo yake, variable $ CONE kupokea tu thamani kwenye mistari ya awali ili kukidhi kuna mara moja: "Nakala; ListItemRun; kisanduku cha maandishi, ListItem; Angalia, Box, checkbox, Tanbihi".

lugha ya Kirusi katika funguo na maadili

Haipendekezwi kutumia kitu chochote kinachohusiana na seti tabia ya taifa katika ujenzi kisintaksia. lugha ya Kirusi, pamoja na lugha nyingine zote, wahusika ambao ni zaidi ya az, itakuwa si kujenga tatizo, kuwa katika database, lakini si katika syntax code. Wakati mwingine hata kazi rahisi kwa PHP «kuleta safu ya printer au kwenye skrini" ingesababisha "gibberish" na mara nyingi tu kuacha hati.

PHP - lugha waaminifu na uvumilivu wa tabia ya taifa, lakini kuna hali nyingi ambapo kiasi cha kazi iliyofanywa ina nini tena kwa sababu tu katika mahali sahihi kwa wakati unaotakiwa litaibuka muhimu, kutambua ambayo si kuwa inawezekana.

PHP syntax na mazingira lugha

Kumbuka kwamba PHP syntax - hii moja, lakini mpango wa hii syntax "mpango" na maombi mengine, mfumo wa uendeshaji na chaguzi maunzi. Kuna njia nyingi, na kutoa yote kamwe kuwa inawezekana.

Kanuni ya "katika kanuni kuna tu msimbo, na katika mlango, ndani ya na kwa pato kuna taarifa yeyote" itasaidia kuepuka mshangao zisizotarajiwa. PHP-thamani katika safu inaweza kuwa "Russian", lakini muhimu kwa hiyo ni kuwa syntactically sahihi, si tu kwa maoni ya lugha, lakini pia katika suala la mazingira ya kazi yake.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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