Ðàáîòà ñ ìàñèâè
Âå÷å çíàåòå, ÷å
ïðîìåíëèâàòà å êîíòåéíåð çà åäíà ñòîéíîñò. Ìàñèâúò îò äðóãà ñòðàíà å êîíòåéíåð
çà ìíîæåñòâî ñòîéíîñòè. Òîé ñúùî òàêà ìîæå äà ñúäúðæà ìíîæåñòâî åëåìåíòè îò
ðàçëè÷íè òèïîâå. Åëåìåíòèòå îò ìàñèâà ñå àäðåñèðàò èëè ìàíèïóëèðàò íà áàçàòà íà
òåõíèÿ èíäåêñ. Èíäåêñúò íà åëåìåíò îò ìàñèâ îáèêíîâåíî å öÿëî ÷èñëî.
Èìà
íÿêîëêî òèïà ìàñèâè â PHP. Äà ðàçãëåäàìå â ïîäðîáíîñòè ñëåäíèòå òèïîâå
ìàñèâè.
Òèïîâå ìàñèâè
Ìàñèâèòå ìîãàò äà ñå êëàñèôèöèðàò íà áàçàòà íà
èíäåêñèòå ñè è íà åëåìåíòèòå ñè. Ðàçëè÷íèòå òèïîâå ìàñèâè ñà
- Íîìåðèðàí
ìàñèâ
- Àñîöèàòèâåí ìàñèâ
- Ìíîãîìåðåí ìàñèâ
Íîìåðèðàíè
ìàñèâè
Ìàñèâèòå, êîèòî èìàò öåëî÷èñëåíè èíäåêñè, ñà èçâåñòíè ïîä èìåòî
íîìåðèðàíè èëè ÷èñëîâî èíäåêñèðàíè ìàñèâè. Òåçè ìàñèâè ñå èçïîëçâàò çà
ñúõðàíÿâàíå íà ñòîéíîñòè. Íàïðèìåð, ìîæåòå äà èìàòå ìàñèâ ñ èìå Students, â
êîéòî âñåêè åëåìåíò äà ñúõðàíÿâà èìåòî íà ñòóäåíò.
 òîçè ìàñèâ, âñåêè
åëåìåíò, ìîæå äà áúäå àäðåñèðàí ïî èíäåêñà ñè. Íàïðèìåð, Èìåòî James ìîæå äà
áúäå àäðåñèðàíî îò èíäåêñ 0. Çà äà âèçóàëèçèðàòå åëåìåíòà ñ èíäåêñ 2, ìîæåòå äà
èçïîëçâàòå ñëåäíèÿ ðåä:
echo "$Students
[2]";
Àñîöèàòèâíè ìàñèâè
Àêî âè ñå íàëàãà äà
îñúùåñòâÿâàòå äîñòúï äî åëåìåíòèòå íà äàäåí ìàñèâ ïî èìå, òîãàâà òðÿáâà äà
èçïîëçâàòå íèçîâå êàòî èíäåêñ íà ìàñèâà. Ìàñèâèòå, êîèòî èçïîëçâàò íèçîâå êàòî
èíäåêñè, ñå íàðè÷àò àñîöèàòèâíè ìàñèâè.
Ùå îòêðèåòå åäíà ñúùåñòâåíà ðàçëèêà
ïðè ðàáîòàòà ñ íîìåðèðàíèòå è àñîöèàòèâíèòå ìàñèâè. Ïðè àñîöèàòèâíèòå ìàñèâè
ìàñèâè íå ìîæåòå äà èç÷èñëèòå ñëåäâàùèÿ âàëèäåí èíäåêñ â ìàñèâà. Ìîæåòå äà
ñúçäàäåòå àñîöèàòèâåí ìàñèâ ñ èìå Student_Name, êàòî ïðèñâîèòå ñòîéíîñòòà íà
èíäåêñà.
$Student_Name["name1"] = "James Patt"; $Student_Name["name2"]
= "John Smith"; $Student_Name["name3"] = "Susan Carter";
Ìîæåòå ñúùî
òàêà äà êîíâåðòèðàòå ñúùåñòâóâàù íîìåðèðàí ìàñèâ â àñîöèàòèâåí ìàñèâ. Çà äà
êîíâåðòèðàòå ñúùåñòâóâàù ìàñèâ Student â àñîöèàòèâåí ìàñèâ, íàïðàâåòå
ñëåäíîòî:
$Student = array ("name1" =>"James Patt", "name2"
=>"John Smith", "name3" => "Susan Carter");
Ñëåä êàòî ñòå
êîíâåðòèðàëè íîìåðèðàí ìàñèâ â àñîöèàòèâåí, ìîæåòå äà èçïîëçâàòå êîìàíäàòà echo,
çà äà âèçóàëèçèðàòå åëåìåíòèòå îò ìàñèâà.
echo
"$Student["name3"]";
Íà åêðàíà ùå ñå ïîÿâè èìåòî Susan Carter. Ìîæåòå
ñúùî òàêà äà èçïîëçâàòå ôóíêöèèòå list() è each(), çà äà îñúùåñòâèòå äîñòúï äî
åëåìåíòèòå â àñîöèàòèâåí ìàñèâ. Ôóíêöèÿòà list() ñå èçïîëçâà çà ïðèñâîÿâàíå
ñòîéíîñòèòå íà åëåìåíòèòå îò ìàñèâà íà ïðîìåíëèâè. À ôèíêöèÿòà each() ïîëó÷àâà
ìàñèâ êàòî àðãóìåíò è âðúùà èíäåêñà è ñòîéíîñòòà íà âñåêè åëåìåíò îò
ìàñèâà.
Íàïðèìåð:
$Student = array ("name1" =>"James Patt",
"name2" =>"John Smith", "name3" => "Susan Carter"); list($key_name, $val)
= each($Student); echo("$key_name"); echo ("$val");
Ãîðíèÿ êîä çà
âñåêè åëåìåíò îò ìàñèâà ïðèñâîÿâà íà ïðîìåíëèâàòà $key_name èíäåêñà íà åëåìåíòà,
à íà ïðîìåíëèâàòà $value - ñòîéíîñòòà íà åëåìåíòà. Ñëåä òîâà ñå âèçóàëèçèðàò
ñòîéíîñòèòå íà ïðîìåíëèâèòå $key_name è $val. Òàêà èíäåêñèòå ùå ñà name1, name2,
name3. A ñúîòâåòíèòå ñòîéíîñòè ùå ñà James Patt, John Smith è Susan
Carter.
Ìíîãîìåðíè ìàñèâè
ìîæåòå äà ñúõðàíÿâàòå ðàçëè÷íè
ïðîìåíëèâè, êàêòî è öåëè ìàñèâè, â äðóã ìàñèâ. Ìàñèâ, êîéòî ñúõðàíÿâà ìàñèâè
êàòî ñâîè åëåìåíòè ñå íàðè÷à ìíîãîìåðåí ìàñèâ. Àêî åëåìåíòèòå íà ìàñèâ ñà
äâóìåðíè ìàñèâè, òîãàâà òîé å òðèìåðåí ìàñèâ è ò.í. Âúïðåêè, ÷å òåçè ìàñèâè
ìîãàò äà ñà òðèìåðíè, ÷åòèðèìåðíè è ò.í., äâóìåðíèòå ìàñèâè ñà íàé-ïîïóëÿðíè.
Ïî-äîëó å äàäåí ïðèìåð çà ìíîãîìåðåí ìàñèâ.
Rool No 1 2 3
Name
James Patt John Smith Susan Carter
ãîðíèÿò ìàñèâ å ïðèìåð çà äâóìåðåí
ìàñèâ. Òóê ìàñèâúò Students ñúäúðæà äðóã ìàñèâ ñ èìå Roll NO.
Òúé êàòî
ìàñèâúò Students èìà ìàñèâè êàòî ñâîè åëåìåíòè, Ìîæåòå äà îñúùåñòâèòå äîñòúï äî
âòîðèÿ ïîäåëåìåíò íà ïúðâèÿ åëåìåíò íà ìàñèâà , êàòî èçïîëçâàòå äâà èíäåêñà,
íàïðèìåð:
$Students [0][1]
Ìîæåòå äà ïîìèñëèòå çà åäíî
èçîáðàæåíèå êàòî ïðèìåð çà ìàñèâ. Íàïðèìåð òðÿáâà äà âèæäàòå êîîðäèíàòèòå,
äîêàòî äâèæèòå ïîêàçàëåöà íà ìèøêàòà âúðõó èçîáðàæåíèåòî.  òîçè ñëó÷àé òðÿáâà
äà èçïîëçâàòå ìíîãîìåðåí ìàñèâ çà êîîðäèíàòèòå íà x è y, êàêòî å ïîêàçàíî ïî-
äîëó.
Coordinates [x][y]
Íÿìà îãðàíè÷åíèå çà áðîÿ íà
èçìåðåíèÿòà íà ìàñèâèòå. Îñâåí òîâà ìîæåòå äà èìçòå ðàçëè÷íè òèïîâå èçìåðåíèÿ.
Íàïðèìåð, ìîæå ïúðâèÿò èíäåêñ äà å öåëî÷èñëåí, âòîðèÿò íèçîâ, òðåòèÿò- ïàê
öåëî÷èñëåí è ò.í. Ìíîãîìåðíèòå ìàñèâè ñà ìíîãî ïîëåçíè ïðè ïðåäñòàâÿíåòî íà
ñëîæíè ñòàòè÷åñêè äàííè.
| <html> <body> <?php $Student = array ( "0" => array ("name" => "James", "sex" =>"Male", "age"=>"28"), "1" => array ("name" => "John", "sex" =>"Male", "age"=>"25"), "2" => array ("name" => "Susan", "sex" =>"Female", "age"=>"24") ); Print $Student [2][age]; ?> </html> </body> |