юли 14th, 2009Работа с масиви
Здравейте, в днешният урок съм решил да ви запозная с масивите в PHP.
Ще разгледаме как се създават масиви, как се добавят стойности в тях и как се редактират вече създадени такива.
Ще видите, че да се работи с масиви в PHP е доста лесно и интересно.
Така ще започнем от това, какво представлява масива.
Един масив се състои от ключ и стойност.
Всяка стойност принадлежи на даден ключ.
По принцип, когато не сме задали ключове на стойностите ни, те се създават автоматично, като тук е много важно да се наблегне, че ключа на първата стойност не е 1, а 0.
Точно така, когато оставим ключовете ни да се генерират автоматично от PHP, те ще започнат от 0, като разбира се втората стойност ще бъде с ключ "1" и т.н.
Масив се създава по-следния начин:
$masiv = array();
В случая, $masiv ни е празен масив.
Има няколко начина за вкарване на стойности в масив.
Ето ги и тях.
Първият е като вкарваме стойностите още със създаването на масива:
$masiv = array('стойност 1', 'стойност 2', 'стойност 3');
Вторият начин е като сме създали вече масив да ги добавяме по отделно.
$masiv = array();
$masiv[] = 'стойност 1';
$masiv[] = 'стойност 2';
$masiv[] = 'стойност 3';
Можем и да допълваме вече създаден масив:
$masiv = array('стойност 1', 'стойност 2', 'стойност 3');
$masiv[] = 'стойност 4';
$masiv[] = 'стойност 5';
Ако искате да промените дадена стойност, трябва да се обърнете към нейния ключ.
Примерно:
$masiv = array();
$masiv[] = 'стойност 1';
$masiv[] = 'стойност 2';
$masiv[] = 'стойност 3';
Ако примерно сега желаете да промените последната стойност "стойност 3", това може да стане по следния начин:
$masiv[2] = 'нова стойност';
Както виждате аз променям дадена стойност от масива, като използвам ключа и.
Защо използвам ключ с номер "2"? Защото предварително не сме задали наш ключ на стойността и те са автоматично генерирани.
А както в началото на урока казах, когато не са зададени ключове те се генерират автоматично, като започват от 0.
Сега нека видим по какъв начин можем да задаваме наши ключове на стойностите.
Ще дам пример със следният масив:
$masiv = array('ключ 1' => 'стойност 1', 'ключ 2' => 'стойност 2', 'ключ 3' => 'стойност 3');
Разбира се това може да стане и по следния начин:
$masiv = array();
$masiv['ключ 1'] = 'стойност 1';
$masiv['ключ 2'] = 'стойност 2';
$masiv['ключ 3'] = 'стойност 3';
Така, сега след като разбрахте как се създават масиви и по-какъв начин вкарваме стойности в тях, съм решил накратко да ви запозная с двумерните, тримерни и т.н. масиви :)
Двумерният масив представлява масив в масив. Или казано по-просто. Това е масив вкаран в друг масив.
Когато във втория масив, вкараме още един се получава тримерен масив :)
Сега ще ви покажа пример за такъв масив и по какъв начин може да взимаме, извикваме или променяме стойностите му.
$masiv = array( array('стойност 1', 'стойност 2', 'стойност 3') );
Това беше един прост пример. Както виждате съм създал масив и в него още 1 масив.
Вътрешния масив също има ключ, така както и обикновените стойности.
И тъй като не сме задали ключ, той ще бъде 0.
Ето по какъв начин можем да променим 2-рата стойност от вътрешния масив.
$masiv = array( array('стойност 1', 'стойност 2', 'стойност 3') );
$masiv[0][1] = 'Нова втора стойност';
Така, какво точно се случва тук!?
Първо чрез [0] ще извикаме втория масив. Както по-горе казах, тъй като не сме му задали ключ, той приема автоматично стойност 0.
Тъй като ключ 0 съдържа масив, за да вземем дадена стойност от него, отново трябва да използваме даден ключ в случая [1].
И така като следваме пътя на логиката, ще може да създаваме колкото и каквито искаме масиви :)
Ако до сега не сте се занимавали с тях в някой друг програмен език, може да са ви малко объркани, но мога да ви уверя, че започнете ли да навлизате в нещата, ще разберете колко са полезни и колко лесно се работи с тях :)
Преди да приключим с урока искам да ви покажа следната команда:
print_r() – Тя ви позволява да проверите как точно изглежда структурата на вашия масив винаги, когато поискате.
Разбира се, не е препоръчително да оставяте функцията активирана и по този начин останалите потребители да виждат структурата на вашия масив.
Използвайте я просто за да проверите какво е текущото състояние на масива и ако има нещо да го поправите, след което я изключете.
При работата с масиви в PHP се използват доста от сортиращите функции. Такива са например: sort, rsort, ksort, krsort и т.н.
И тъй като функциите за работа с масиви са много, няма как да ги опиша всичките в 1 урок.
За това мисля да го приключа, като ви дам адрес, от който може да се запознаете с всяка една от тях.
Адреса е http://bg.php.net/manual/bg/ref.array.php.
Надявам се урока да Ви е бил полезен. Ако не разбирате нещо или имате въпрос относно масивите, моля пишете в коментарите и при първа възможност ще ви отговоря :)