ЭЭМ, Программалоо
PHP: тизилип киет. бир PHP тизилип Издөө
Программалоо - синтаксиси жана семантикасы болуп саналат. Биринчи тилинин эрежелери менен аныкталат, ал эми экинчиси - иштеп тажрыйбасы. Arrays иштеп карата тийиш семантика синтаксисин жүктөй аласыз. Бул объект эмес, катар-катар турушту, салттуу мааниде бирок ал азырынча жок. PHP, анын ичинде өздөрүн ар кандай түрлөрү, өзгөрүлмөлөрдүн Arrays түзүүгө мүмкүндүк берет. Бир катар элемент бир милдети болушу мүмкүн, ал реалдуу алгоритм, чыныгы мааниси көптөгөн жүктөөгө мүмкүн.
Синтаксиси туруктуу, бирок нускасына нускасына чейин, жана ар дайым, атүгүл курбулары, туура келбей калышы мүмкүн. программаларды дептер - ошондой эле өткөн кылымдын жетишкендиктерин унутту. Семантика иштеп чыгуу жана ар дайым эле кайсы тилде ар кандай чыгаруу үчүн эмес колдонулушу мүмкүн болсо; Ал тургай, берилген тилде эрежелери болгон жок экенин билдириш үчүн синтаксисин колдонуу үчүн салт болуп калды. Бул мисал жөнүндө, Arrays абдан түшүнүктүү болот.
Курулуш топтому
PHP боюнча бир катар бир ыңгайлуу синтаксиси жана иштөө болуп саналат. Бул маалыматтардын түрү алдын ала айтылган болушу мүмкүн, бирок ал зарыл болсо, учуп баратканда Arrays түзүү үчүн көп ыңгайлуу болуп саналат.
Коомдук $ aNone = даяр (); // катар сүрөттөлгөн жана эч нерсе камтылган эмес
Коомдук $ aFact = тутуму ( "Саргылт", "Шабдалы", "алча"); // үч элементтен бул даяр
кандайдыр бир шарттарды текшерүү жараянынын көптөгөн түзүү:
$ CSrcLine = 'сап маалыматтарды талдоо;
үчүн ($ = 0; $ мен <13; $ мен ++) {
$ CUserLine = inputUserLine (); // киргизүү нерсе
эгер (checkFunc ($ cSrcLine, $ cUserLine) {
$ Жамаш [] = 'Ооба'; бир PHP толгон кошуу //
} Else {
$ Жамаш [] = "жок";
}
}
Бул, мисалы, аткаруу натыйжасында баалуулуктар гана "ооба" же "жок" линиясын 13 элементтен көптөгөн түзөт. Elements индекстерин 0дөн үчүн 12 эле таасир алдын-ала жазылып, "Келечек", PHP-катар сапка тарабынан алынышы мүмкүн болот:
$ CFutureArray = '';
үчүн ($ = 0; $ мен <13; $ мен ++) {
$ CUserLine = inputUserLine (); // киргизүү нерсе
эгер ($ мен> 0) {$ cFutureArray = '|' .; }
эгер (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = 'Ооба' .;
} Else {$ cFutureArray = "жок" .; }
}
$ Жамаш = жарылып ( "| '$ cFutureArray);
өлчөмдүү
Көп мазмунду башкаруу системалары (SMS) Arrays аркылуу "зор масштабда". Бир жагынан, бул жакшы тажрыйба, экинчи жагынан, ал колдонууга кыйын. жазуучу ачык чындыктарга "тизилип PHP-тутуму" болгон күндө да, анда ал кыянаттык тийиш эмес: бир гана чыгуучу эмес, татаал белгилер көнүү керек. Адатта, бир жазуучу өзү көп эстейм +, ал эми мен башында мындай деп жазган кийин:
кайра толгон (
"View_manager '=> киет (41," template_path_stack' => Array (__DIR__. /../view "),
"Маршруттагыч '=> киет (маршруты' => киет (sayhello '=> Array (
"Түрү '=>' Zend \ MVC \ Router \ Http \ Китеп",
"Жолдор '=> тутуму (" жол' => '/ sayhello', 'демейки' => Array (
"Контролдоо '=>' Helloworld \ башкаруучусу \ Index ',' иш-аракет '=>' индекси",))))),
"Инспекторлор '=> киет (invokables' => 'Array (
'Helloworld \ башкаруучусу \ Index' => 'Helloworld \ башкаруучусу \ IndexController "))
);
Бул биринчи ZF 2. эмес, өтө ынтаа менен катар "бир үлгү тажрыйба" PHP-тутуму болуп саналат, бирок ал иштеп жатат, балким, бул ийгиликтүү базаны (модулу ZendSkeletonApplication / модулу / Helloworld / тарам / module.config.php чейин үлгү) түзөт.
Array - дизайн менен иштеп чыгуу учурунда маанилүү маалымат түзүмү. Анын көп кырдуу версия жолу таанымал эмес, бирок, убакыттын өтүшү менен эки же үч олчомуно Бүтүн зарылдыгын калган эле. Ал жөнөкөй жана айттырбай билип, бирок, бир нерсе өсө баштаганда кесипкөйлүк жагынан, ошондуктан, маселенин иштеп чыгууда бир нерсе, же код туура эмес.
Жөнөкөй, жеткиликтүү жана түшүнүктүү
тизилип PHP тизилип түзүү, эки же үч чектөө жакшы. PHP жана туруктуулугуна жана ишенимдүүлүгүнө карабастан, синтаксис иштетүү боюнча ката кетирет. Муну менен сиз так кашаалар жана үтүр санап көнгөн жакшы коду редактор, бар жол алат. Бирок, PHP маалыматтар (ушул карма заманбап программалык эмес) түрлөрүн көзөмөлдөй албайт жана иштеп семантикалык каталарды иш жүргүзүүгө мүмкүндүк берет.
көп суроолорду - өзгөрмөлөр же өз синтаксисинде кайра семантиканын идеяларды түрлөрүн башкаруу укугу. Бул жоготуу баасы скрипт, коду окумдуулугун, эсенчиликти, ... код ар дайым зарыл, себеби.
PHP олуттуу терс касиети бар: скрипт эле белгисиздик учурда коёт. Бардык эле debuggers күтүлбөгөн окуялар менен күрөшүүгө, көп иштеп тажрыйбасы жана бир сезим көз каранды. структуралаштырылган маалыматка караганда жөнөкөй алгоритм жеткиликтүү жана мүмкүнчүлүгү катаачылык тапкан же аны жол бербейт.
Менен мүнөздөлөт, маалымат тандоолордун ичинен биринчи Arrays түрү структураларында сунуш кылышканда - маалыматтардын ар кандай түрлөрү менен бир нерсени жаратуу үчүн бир олдоксон аракет. Биринчи, аман калып, күчтүү жаңы синтаксисин ээ, экинчи тарыхта калды.
Simple жана Associative Arrays
эки өлчөмдүү толгон жазуу - "[" жана "]", кашаанын ичине дагы бир түгөй болуп, мисалы: $ aSrcData [1] [2] [2] бир нерсеге жетүү дегенди билдирет салгыла [1], тизилип $ aSrcData менен киргизүү. PHP-жылы алдын ала маалыматтарды жарыялоого эч кандай талап жок. Lyuboyu маалымат ар дайым бар экендиги текшерилет болот деген.
ал мындан ары зарыл болгондо абдан натыйжалуу зарыл болгондо гана нерсени жараткан, ал зарыл болгон түрүндө, жана жок кылуу. негизги (индекси) катары колдонуу маанилүү аттарын алгоритмдерди Учурдагы жайгашкан контекстинде маанилүү окула турган түзүлүштү даярдалган болушу мүмкүн:
$ AAnketa [ 'аты'] = 'Ivanov';
$ AAnketa [ 'жашы'] = 42;
$ AAnketa [ "иш '] =' директору";
$ AAnketa [ "жигердүү"] чыныгы =;
$ ATable [] = $ aAnketa;
$ AAnketa [ 'аты'] = 'көлүндөгү';
$ AAnketa [ 'жашы'] = 34;
$ AAnketa [ "иш '] =' менеджер";
$ AAnketa [ "жигердүү"] чыныгы =;
$ ATable [] = $ aAnketa;
$ AAnketa [ 'аты'] = 'бейит';
$ AAnketa [ 'жашы'] = 28;
$ AAnketa [ "иш '] =' Иш ';
$ AAnketa [ "жигердүү"] жалган =;
$ ATable [] = $ aAnketa;
$ Соне = жарылып ( ";" $ ATable [1]).. "Оуэна '; // сап экинчи PHP-тутуму
. $ Төрө = $ aTable [1] [ "иш"]; // экинчи катарга бир элементи чакыруу
Бул, мисалы, натыйжасы (биринчи Array - кадимки ачкычтар, анда 0 менен башталат, экинчи толгон - Associative, төрт ачкычтары бар: "аты ',' жашы", "жумуш", "жигердүү"):
$ Соне = 'көлөмү; 34; менеджери; 1
менеджер ";
Бул жөнөкөй мисал келтирейин, бир белгиленген ге бардык кызматкерлерди колдонулушу мүмкүн экенин көрүүгө болот. Сиз андан кийин кадрдык саны боюнча тандап, бир кызматкер болушу керек болсо, жана кадрдык номерлерди индекстер менен кызматкерлердин көптөгөн түзө аласыз.
Сиздин уюм бөлүмдөр бар болсо же убактылуу мезгилдик жумуштарды, же өз-өзүнчө иштеген пенсионерлер бөлүп келсе, ... дизайн "тизилип PHP-тутуму" абдан ыңгайлуу, бирок чен катышат эч качан жол бербешибиз керек. Эки өлчөмдүү жана үч өлчөмдүү - натыйжалуу чечүү үчүн чек.
саптар менен иштөө үчүн Keys
Эгер мурун маанилүү, акыркы жылдары баары, кандай иштеп, бир программист Array элементтери сакталып так билгиси келген, аларга түздөн-түз мүмкүнчүлүк каалашты бинардык доордо, салтын, анын толугу менен унутулуп. бир байт жатат эс ээлейт тамга чечмелөө, көп болгон эмес. сөз "бит" Эми бир аз-издөө иш-жылы гана жооп берүүгө мүмкүн эмес, бирок PHP тизилип издөө - өзүнчө маселе болуп саналат. элементтерге жетүү жөнөкөй жана Associative болушу мүмкүн. мурунку учурда Array элементтер (жеткиликтүү түрлөрү PHP кайсы ээ) 0 номурланган, 1, 2, ..., экинчи учурда, программист көп "ачкычы" каалаган баасын алуу үчүн деп аталат, өз индекси көрсөтүлгөн.
$ Алин [ "жемиш"] = "сары"; // бул PHP-ачкыч көрүүнүн = "жемиши"
же (баары туура жана код барагы коддоо ылайык болушу үчүн):
$ Алин [iconv (UTF-8 ',' CP1251 "," жемиш ")] = iconv (UTF-8 ',' CP1251", "сары");
Сиз Array $ Элайн жаңы наркына кошуп жатканда:
$ Алин [] = iconv (UTF-8 ',' CP1251 ',' шабдалы ");
$ Алин [iconv (UTF-8 ',' CP1251 "," жемиш ")] = iconv (UTF-8 ',' CP1251", "бадыраң");
$ Алин [] = iconv (UTF-8 ',' CP1251 ',' баклажан ");
айлантып натыйжасында:
ForEach ($ Элайн $ ККнын => р $) {
$ Конус. = $ Ck. '='. $ CV. "Оуэна ';
}
Бул боюнча алынат:
апельсин жемиш =
0 = шабдалы
= Өсүмдүк бадыраң
1 = баклажан
PHP-ачкыч көрүүнүн-ден "шабдаалы" кошуп жана 0дөн ырааттуу түзүлгөн "Баклажан", ошондой эле анын наркын көрсөтүү менен ушул маанисине барабар болот.
катар элементтерди жок кылуу
жөнөкөй жол менен кайра иштетүү учурунда PHP шөкөттөп элементин алып. Бул учурда, мисалы, аткаруу айлампасынын натыйжасында, булагы даяр деп эсептеген, жана жөн гана керексиз элементтеринин бир-бирине, пайда жазылган эмес.
Сиз жардам кыла албайт. Эгер акыркы үлгүсү колдонууга:
коюлбай ($ Элайн [0]); // PHP Array Element жок
натыйжасы болуп калат:
апельсин жемиш =
= Өсүмдүк бадыраң
1 = баклажан
Array элементтерин башкарууга Жолдор комплексин куруу болот. Мисалы, иш-милдетин пайдалануу: жарылып () жана жарылуусуна (), PHP-катар тизилип, бир-биринен ажырата менен, дагы бир катар жана бөлө жазылган болот - башка бөлүштүрүү менен.
жөн гана бир бүтүндүк катары PHP толгон жок кылуу үчүн, аны жөн гана жазып: коюлбай ($ Элайн);
Токтоткула, жетишет.
тизилип Издөө
PHP атайын издөө милдети бар array_keys (), array_values (), array_key_exists (), жана Мойсеюк (), бирок аларды колдонуу жөнүндө чечим кабыл чейин, өз алдынча бир PHP тизилип издөө мүмкүндүгүн карап чыгыш керек.
Ар бир долбоор бир бар аты аянтын, иштелип чыккан Arrays, айрыкча синтаксисин семантиканын бөлүгү көчүп барып, өтө өзгөчө маанилүү баскычтардын жыйындысы аркылуу билдирет. Чын эле, сен да жетик мүнөздөөгө болот өз издөө милдетин аткара берет.
PHP, сиз милдетин, программа аткаруу учурунда аныкталган аты деп атайбыз. окуп жана MS Word документтерин жазып берет PHPWord китепкана абдан практикалык мисалы:
$ Elements = тутуму ( "Text", "Inline ',' TextRun ',' Link ',' PreserveText ',' TextBreak ',
"ListItem ',' ListItemRun ',' стол", "Image", "Object", "Шилтемелер",
"Endnote ',' баскыч ',' Textbox ',' талаа", "Line");
$ Functions = даяр ();
үчүн ($ = 0; $ мен санап ($ элементтер) <; $ мен ++) {
$ Functions [$ мен] = 'кошот'. $ Elements [$ i];
}
Натыйжада, иш-милдеттерди жүзөгө ашыруунун бир катар $ $ баалуулуктар катар элементтерди алуу, башкача айтканда, документтин реалдуу элементтери менен ишти аткарууга реалдуу милдеттерин аттары.
$ Чакырган элементтер [4] милдети $ кызматтары [4], сиз издөө жана тез натыйжаларды аласыз.
Сорттоо даана
маалымат сорттоо маселе маанилүү жана PHP бул үчүн бир нече иш-милдеттерди аткара алат: сорт (), rsort (), asort (), ksort (), ... тепкич менен өйдө чыгып, акыркы эки милдеттерин түшүп элементтер ачкычтар менен көрсөткүчтөрдүн ортосунда мамилелерди сактап калуу. Кээде ал туш келди катарга баалуулуктарын аралаштырууга мааниси - Shuffle ().
сорттой PHP милдеттерин колдонуп, биз мүчөлөрү бир түрүн гана эмес болушу мүмкүн, бирок, табигый мүнөзгө ээ эмес, мазмун да унутпашыбыз керек. ар кандай түрдө жазылган орус каттарды, сорттоо курма, жана сандарды камтыган саптарды иргөө өтө сак болууга биринчи нерсе.
Өз идеалдуу чечүү, жок эле дегенде, жазма сыноо баскычында жазып мыкты жолу - кол сорттоо болуп саналат. Бул шарттуу жардам берет.
String Arrays
өзгөчөлүктөрү жарылып () жана жарылышы менен () Array жонокой сапка айланат жана кайра алууга болот. Бул компакт өкүлчүлүк боюнча маалыматтарды сактоо жана зарыл болсо, жакшы абалда, аларды жайгаштырууну түзөт.
Array, кезекте караган жаңы мүмкүнчүлүктөрдү ачат. Мисалы, текстте ачкыч издеп милдети ашык кайрадан кошо жок болду деп талап кылат.
$ CSrcLine = 'Текст Текст ListItemRun Textbox ListItem Textbox кутуча баскыч Textbox Шилтемелер текшерүү';
$ ASrc = жарылып ( '', $ cSrcLine);
$ CDstLine = '';
үчүн ($ = 0; $ мен <саны ($ aSrc); $ мен ++) {
$ CFind = '['. $ ASrc [мен $]. ']';
болсо (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = жарылып ( '] [', $ cDstLine);
$ Конус = жарылып ( ';', $ aDst);
Натыйжада, өзгөрүлмө $ КОНУС жооп жок кезде баштапкы линияларын гана баалуулуктарын кабыл алып: "Текст; ListItemRun; Textbox; ListItem; текшерүү; маркери; баскыч; Шилтемелер".
ачкычтар жана маанилер орус тили
Бул синтаксистик курулуштарды улуттук мүнөзү батары менен байланышкан нерселердин колдонуу сунушталбайт. Орус тили, ошондой эле башка тилдерде, анын каармандары аз жетпеген, маалыматтар базасы болуп, көйгөй жарата албайт, коду синтаксиси бирок ал азырынча жок. Кээде PHP "үчүн да жөнөкөй милдет принтерге каякка алып же экранда тарабар" жана көп учурда жөн эле арибин токтотууну "алып келет".
PHP - тилинде берилген жана улуттук мүнөздөгү сабырдуу, бирок, керектүү учурда баскычын калкып чыгат учурда, керектүү жерде, анткени аткарылган иштердин көлөмү эле кайра ээ мүмкүн эмес, бул тууралуу көп жагдайлар бар.
PHP синтаксиси жана тил чөйрөсү
PHP синтаксиси эстен чыгарбайлы - башка нерсе, ал эми бул синтаксистик башка колдонмолор менен "келишим" иштеп чыгуу, аппараттык жолдор менен иштетүү системасы. мүмкүн болгон бардык эч качан көрсөтүүгө көптөгөн мүмкүнчүлүктөр бар.
"Кодду гана коду бар жана кире беришинде, ички жана өндүрүш боюнча эч кандай маалымат жок", бийлик күтүлбөгөн оолак болууга жардам берет. тизилип PHP-балл "Россия" болушу мүмкүн, бирок, анын ачкычы бир гана тил жагынан эле эмес, ошондой эле анын иш-чөйрөгө көз карашынан эмес, синтаксиси туура болсун.
Similar articles
Trending Now