KompyuterlarDasturlash

PHP: qator majmuasini. Agar PHP qator qidirish

Dasturlash - sintaktik va semantik hisoblanadi. birinchi til qoidalariga ko'ra belgilangan va ikkinchi - ishlab chiquvchi tajribasi. suhbat Ishlab hurmat bilan bo'ysunadi semantik sintaksisini yuklashingiz mumkin. Bu emas, balki qator an'anaviy ma'noda, bir ob'ekt emas. PHP siz o'zlarini shu jumladan, har xil turdagi, o'zgaruvchilar, tillo yaratish imkonini beradi. An array element haqiqiy algoritm, real ma'noga bir qator yuklashingiz mumkin, bir vazifasi bo'lishi mumkin.

Matnni sintaksisi rang barqaror, ammo versiyasiga versiyasi farq qiladi, va har doim ham pastdan yuqoriga qarab, mos kelmasligi mumkin. dasturlari Taşınabilirlik - yaxshi o'tgan asrning yutuqlarini unutilgan. Semantikasi rivojlanmoqda va har doim faqat har qanday tilda har qanday versiyasiga emas qo'llanilishi mumkin; Hatto taqdim tilining qoidalari emas ekanligini izhor bir sintaksisi foydalanish uchun an'anaga aylangan. Bu, masalan kuni, tillo eng oson tushunib olish mumkin.

qurilish silsilasini

PHP, bir qator qulay sintaktik va funktsional hisoblanadi. Bu ma'lumotlar turi oldindan tasvirlangan bo'lishi mumkin, lekin u zarur deb chivin-ketliklar yaratish ko'pincha qulay bo'ladi.

davlat $ aNone = array (); // array tasvirlangan va hech narsa o'z ichiga oladi

davlat $ aFact = array ( "avakado", "shaftoli", "olcha"); // uch elementlar bu array

har qanday sharoitda tekshirish jarayonida bir qator yaratish:

$ CSrcLine = 'tor ma'lumotlarni tahlil';

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

$ CUserLine = inputUserLine (); // kiritish narsa

Agar (checkFunc ($ cSrcLine, $ cUserLine) {

$ Natija [] = 'Ha'; Agar PHP qator qo'shish //

} Else {

$ Natija [] = 'Hech';

}

}

Bu, masalan, ijro natijasida qadriyatlar faqat "Ha" yoki "Yo'q" liniyasi 13 elementlar bir qator hosil qiladi. Elements 0 dan 12 Shu ta'siri bilan mag'lubiyatga oldindan yozib "kelajak" PHP-ketlikdagi tomonidan olinishi mumkin indekslarni bo'ladi:

$ CFutureArray = '';

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

$ CUserLine = inputUserLine (); // kiritish narsa

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

(CheckFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = "ha" bo'lsa, .;

} Else {$ cFutureArray = «Yo'q», .; }

}

; | ( '', $ CFutureArray) $ natija portlashi =

Ko'p o'lchovli, tillo

-ketliklar foydalanib ko'p kontent boshqaruv tizimlari (SMS) "juda katta miqyosda". Bir tomondan, u boshqa tomondan, u amal qilish qiyin, yaxshi dastur hisoblanadi. muallif aniq ta'limoti "qator PHP-array" bo'lsa ham, u suiiste'mol kerak emas: nafaqat Tuzuvchi murakkab sanoq sistemasida ko'nikishim kerak bo'ladi. Ko'pincha, muallifi o'zi uzoq esimda esa bir, nima, men avval yozgan keyin:

(Qator qaytib

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

"Router '=> array (" yo'nalishlari' => array ( "sayhello '=> array (

«Turi '=>" Zend \ Mvc \ Router \ Http ishonchli \',

"Options" => array ( "yo'l" => '/ sayhello »,« standartni' => array (

«Controller '=>' helloWorld \ tekshiruvi \ indeksi», «harakat» => 'indeks »,))))),

"Kontrollerlar '=> array (" invokables' => array (

"HelloWorld \ tekshiruvi \ Index '=>' helloWorld \ tekshiruvi \ IndexController '))

);

Bu birinchi da emas juda ham ilhom baxsh ZF 2. qator "bir namuna amaliyot« PHP-array, lekin ishlaydi, va, ehtimol, bu muvaffaqiyatli asoslarini (modul ZendSkeletonApplication / moduli / helloWorld / config / module.config.php dan misol) qiladi.

Array - dizayn va rivojlantirish jarayonida muhim ma'lumotlar strukturasi. Uning ko'p qirrali versiya marta mashhur edi, lekin vaqt o'tib, ikki yoki uch o'lcham, tillo uchun zarurligini qolgan. bir narsa urilib boshlanadi, shuning uchun muammo shakllantirishdagi narsa, yoki kodi ishi emas, bu yanada qulay va intuitiv, lekin professional nuqtai nazaridan emas.

, Oddiy yaxshi va tushunarli

qator PHP qator yaratish, ikki yoki uch darajada cheklangan bo'lishi uchun eng yaxshi hisoblanadi. PHP barqarorligi va ishonchliligi qaramay sintaksisi qayta ishlash xato qiladi. Bu bilan siz aniq Qavslar va vergul hisoblash ko'nikib yaxshi kodi muharriri, ega toqat mumkin. Biroq, PHP (bu karma zamonaviy dasturlash) va dasturchi semantik xatolarni mashq qilish imkonini beradi ma'lumotlar turlarini nazorat qilmaydi.

tez-tez hashamatli - o'zgaruvchilar yoki sintaksisi o'zgartirish semantik o'z g'oyalari turlarini nazorat qilish huquqi. Bu yo'qolgan darajasi skript, kodi okunabilirlik, tinchlik ... kodlashtirish har doim muhim, chunki.

PHP muhim salbiy xususiyatiga ega: skript faqat noaniqlik tadbirda osilib. Emas, balki butun Debugger'lar kutilmagan voqealar bilan engish va ko'p ishlab chiquvchi tajribasi va sezgi bog'liq. tuzilgan ma'lumotlar ko'ra oddiy algoritm ko'proq yaxshi, ko'proq imkoniyat xato topish yoki uni ruxsat bermaydi.

Xarakterli, ma'lumotlar variantlar birinchi suhbat shakli tuzilmalari taklif etildi qachon - ma'lumotlar har xil turdagi chiqib narsa yaratish uchun qo'pol urinish. birinchi, ikkinchi tarixida pastga tushdi, omon va kuchli yangi sintaksisini bo'ldi.

Oddiy va biriktirilishi mumkin, tillo

ikki o'lchamli qator yozishni - qavs yana bir juft bo'ladi "[" va "]", masalan: $ aSrcData [1] [2] barmog'ingiz bilan kirish, degan ma'noni anglatadi [2] massiv [1], qator $ aSrcData Kirish. PHP, oldindan ma'lumotlarni e'lon qilish uchun hech qanday ehtiyoj bor. Lyuboyu axborot har doim mavjud bo'lishi uchun tekshirish mumkin bildirdi.

u endi kerak bo'lsa bu zarur, va halok bo'lgan shaklda, zarur faqat juda samarali narsa yaratish. kalit (indeks) sifatida mazmunli nomlarini foydalanish algoritmida joriy holati doirasida mazmunli o'qib tuzilishini tayyor bo'lishi mumkin:

$ AAnketa [ 'nomi'] = 'Ivanov';
$ AAnketa [ 'yoshi'] 42 =;
$ AAnketa [ 'ish'] = 'direktori';
$ AAnketa [ 'faol'] = rost,;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'nomi'] = 'Petrov';
$ AAnketa [ 'yoshi'] 34 =;
$ AAnketa [ 'ish'] = 'menejeri';
$ AAnketa [ 'faol'] = rost,;
$ ATable [] = $ aAnketa;

$ AAnketa [ 'nomi'] = 'Afanasiev';
$ AAnketa [ 'yoshi'] 28 =;
$ AAnketa [ 'ish'] = 'ish';
$ AAnketa [ 'faol'] FALSE =;
$ ATable [] = $ aAnketa;

$ O'chadigan = implode. ( ";" $ ATable [1]). "
'; // bilan mag'lubiyatga ikkinchi PHP-array
. $ O'chadigan = $ aTable [1] [ 'ish']; // ikkinchi qator biri element uchun qo'ng'iroq

: Ushbu misol natijasi (: 'nomi "," yoshi "," ish "," faol "birinchi qator - to'rt kalitlari bor, assotsiativ - odatdagi klavishlar unda, 0 bilan ikkinchi qator boshlanadi)

$ O'chadigan = 'Petrov; 34; menejeri; 1
menejeri ';

Bu oddiy misol, bir belgilangan profili Foydalanuvchining barcha xodimlarga tatbiq etilishi mumkin qanday ko'rish mumkin. Siz xodimlar raqamlar indekslar bilan xodimlarining bir qator yaratish va alohida xodim bo'lishi kerak bo'lsa, u holda kadrlar soni bo'yicha uni tanlash mumkin.

Sizning tashkilotingiz bo'linishlarga bo'lsa yoki mavsumiy ish bor, yoki alohida-alohida Ishlovchi pensionerlarga ajratish bo'lsangiz ... dizayn "qator PHP-array" juda qulay, lekin siz o'lchov ishtirok hech qachon kerak. Ikki yoki uch o'lchamlari - samarali echimlarni uchun chegarasi.

ketlikdagi ishlash uchun Tugmalar

oldin narsalar so'nggi yillarda, qanday ishlashi, muhim bo'lsa, bir dasturchi array elementlar saqlanadi aniq qanday bilmoqchi, va ularga bevosita kirishingiz mumkin tiladi ikkilik davrning, an'anasi, butunlay unutilib. xotirasida egallab belgilar xilma, juda ko'p, bir bayt bor emas edi. so'zi "bit" faqat bir oz-qidiruv operatsiyalarini qondirish uchun endi mumkin, lekin bir PHP qator qidirish - alohida masala. elementlariga Access oddiy va assotsiativ bo'lishi mumkin. Sobiq holda (mavjud turlari PHP har qanday ega bo'lgan) array elementlar 1, 2, ..., ikkinchi holda, dasturchi ko'pincha bir "asosiy" kerakli qiymatini kirish uchun deb ataladi o'z indeksini, belgilaydi, 0 raqamlanadi.

$ Oling [ "meva"] = "apelsin"; // bu yerda PHP-asosiy array = "meva"

yoki (hamma narsa to'g'ri va kod sahifa kodlash muvofiq bo'lishi uchun):

$ Oling [iconv ( 'UTF-8 "," CP1251 "," meva ")] = iconv (' UTF-8", "CP1251», «to'q»);

Agar array $ Oling yangi qiymatiga qo'shsangiz:

$ Oling [] = iconv ( 'UTF-8 "," CP1251 "," shaftoli ");
$ Oling [iconv ( 'UTF-8 "," CP1251 "," o'simlik ")] = iconv (' UTF-8", "CP1251", "bodring");
$ Oling [] = iconv ( 'UTF-8 "," CP1251 »,« baqlajon');

Ichak natijasida:

foreach {($ Oling $ Ck sifatida => CV $)
$ Konus. = $ Ck. "= '. $ Cv. "
';
}

Bu bilan olinadi:

apelsin meva =
0 = shaftoli
= Sabzavot bodring
1 = baqlajon

PHP-kalit ma'lumotlar "shaftoli" va 0 dan navbat hosil "patlıcan" qo'shib, va uning qiymatini belgilovchi, bu qiymatiga teng bo'ladi array.

qator elementlarni olib tashlash

eng oson yo'li ishlash paytida PHP array elementi olib tashlash uchun. Bu holda, masalan, ijro aylanishi natijasida, manba array o'rganib chiqdi, va shunchaki keraksiz elementlar qayd emas yangi bir, hosil bo'ladi.

Siz oson, albatta, mumkin. O'tgan misol foydalanish bo'lsangiz:

o'rnatilmasa ($ Oling [0]); // PHP array elementi olib tashlash

Natijada bo'ladi:

apelsin meva =
= Sabzavot bodring
1 = baqlajon

array elementlarni o'zgartirish uchun Options majmuini barpo mumkin. Misol uchun, funktsiyasidan foydalanib: implode () va, bir bo'luvchi bilan PHP-qatorga qator yozilgan bo'lishi mumkin) (portlashi, qaytarib yana bir qator ichiga buzib tashlash va - yana bir satr bilan bo'linadi.

shunchaki bir butun sifatida PHP qator olib tashlash uchun, faqat yozish: o'rnatilmasa ($ Oling);

Bu yetarli.

qator Izlash

PHP maxsus qidiruv funktsiyasi mavjud array_keys (), array_values (), array_key_exists (), va in_array (), lekin siz ularni foydalanishga qaror oldin, o'z ustida PHP qator qo'ng'iroq qilish uchun yuzaga chiqarish kerak.

Har bir loyiha, muayyan bir bor mavzu maydoni, semantik qismi sintaksisi ko'chib va juda aniq mazmunli tugmalar majmui orqali vakili, ayniqsa mo'ljallangan tillo. Bu siz ham ma'nodor tasvirlangan mumkin o'z qidirish funktsiyasi, bajarish imkonini beradi.

PHP, siz dastur ijro paytida aniqlanadi nomi qaysi vazifasini, qo'ng'iroq qilishingiz mumkin. o'qish va MS Word hujjatlarini yozish imkonini beradi PHPWord kutubxona juda amaliy misol:

$ Elements = array ( "Matn", "Inline», «TextRun", "Link", "PreserveText», «TextBreak,
"ListItem», «ListItemRun", "Stol", "Tasvir", «ob'ekt», «Izoh»,
"Sonnot», «CheckBox", "TextBox", "Dala", "Line");

$ Vazifalari = array ();

uchun ($ i = 0; $ i sonini ($ elementlar) <; $ i ++) {
$ Vazifalari [$ i] = 'qo'shishingiz. $ Elements [$ i];
}

Natijada, funktsiyalari, bir qator $ $ qadriyatlar majmuasini elementlarini qabul, ya'ni, hujjatning haqiqiy elementlari bilan ish bajarish dolzarb vazifalarni nomlari.

$ Chaqirib elementlar [4] funksiyasi $ vazifalari [4], mukammal qidiruv va tezkor natijalar olishingiz mumkin.

Saralash mahsulot

ma'lumotlar saralash vazifasi muhimdir, va PHP, bu uchun bir necha vazifalarni beradi: sort (), rsort (), asort (), ksort (), ... o'sish bo'yicha va oxirgi ikki funktsiyalari kamayish bo'yicha elementlari kalitlari va qadriyatlar o'rtasidagi munosabatlarni saqlab. Ba'zan tasodifiy da qator qiymatlari aralashtirish mantiqiy - Shuffle ().

tartiblashtirish uchun PHP funktsiyalarini foydalanib, biz a'zolari bir xil turdagi, lekin juda tabiiy emas, mazmunini nafaqat bo'lishi mumkin, deb unutmasligimiz kerak. birinchi narsa, turli formatlarda yozilgan rus harflarini, saralash xurmo va raqamlarni, o'z ichiga olgan satrlari saralash haqida juda ehtiyot bo'lish.

kamida skriptni sinov bosqichida, o'z ideal hal yozish uchun eng yaxshi yo'l - bir qo'lda Tartib hisoblanadi. Bu majburiyatlarga yordam beradi.

string suhbat

xususiyatlari implode () va portlashi bilan () array osonlik bilan mag'lubiyatga aylantirildi va qaytarib olish mumkin. Bu Agar yilni yangi, vakillik ma'lumotlarni saqlash va kerak bo'lsa, bir qulay holatda ularni safarbar etish imkonini beradi.

Array, chiziq qaratib yangi imkoniyatlar ochadi. Misol uchun, matn kalit so'z izlab vazifasi topilmadi yana qo'shib emas edi talab qiladi.

$ CSrcLine = 'Matn Matn ListItemRun TextBox ListItem TextBox Box CheckBox TextBox Izoh tekshiring';

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

uchun ($ i = 0; $ i soni ($ aSrc) <; $ i ++) {
$ CFind = '['. $ ASrc [$ i]. ']';
Agar (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ CDstLine = $ cFind;
}
}
$ ADst = portlashi ( '] [', $ cDstLine);

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

Natijada, o'zgaruvchan $ CONE marta u erda kutib original liniyalari faqat qadriyatlarni qabul: "matni; ListItemRun; TextBox; ListItem; tekshirish; Box; CheckBox; Izoh".

kalitlari va qadriyatlar rus tili

Bu sintaktik inshootlar milliy belgilar silsilasini bilan bog'liq hech narsa foydalanish tavsiya etilmaydi. Rus tili, shuningdek, boshqa barcha tillar, belgilar qaysi emas, balki kodi sintaksisi, ma'lumotlar bazasida mavjud bo'lgan, bir muammo yaratish emas, AZ bo'lmaslar. Ba'zan PHP "uchun ham oddiy vazifa printer bir qator olib yoki ekranda oddiy skriptni to'xtatish ko'pincha maza-bemaza gaplar" "olib keladi" va.

PHP - til sodiq va milliy xarakterdagi chidamli, lekin amalga oshirilgan ishlar miqdori kalitini ochiladi to'g'ri vaqtda to'g'ri joyda, iloji bo'lmaydi aniqlash faqat, chunki yana, albatta, bor ko'p vaziyatlar bor.

PHP sintaksisi va til atrof-muhit

Bu bir, lekin boshqa ilovalar, apparat variantlari bilan operatsion tizimi bilan, bu sintaktik "shartnoma" ning dizayni - yodda deb PHP sözdizimini saqlang. mumkin hech qachon, barcha bilan ta'minlash ko'p imkoniyatlari bor.

"Kodi bor faqat kodi va kiraverishda, ichki va ishlab chiqarish da har qanday ma'lumot yo'q" kutilmagan hodisalar oldini olish yordam beradi hukm. qator PHP-qiymati "Rossiya" bo'lishi mumkin, lekin unga asosiy til nuqtai nazaridan, balki uning ish atrof-muhit nuqtai nazaridan emas, balki faqat, sözdizimsel bo'lib, to'g'ri bo'ladi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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