Nagu andmetüüpide juures mainitud on massiiv muutuja, millel võib olla suvaline hulk väärtuseid.
Massiiv luuakse keelekonstruktsiooniga array()
<pre> <?php $foor = array(1=>'Punane', 'Kollane', 'Roheline'); print_r($foor); ?>
Nende ridadega määrasime massiivi nimeks $foor, alustasime elementide loetelu võtmest 1 ja elementideks on kolm foori värvi. Väljundiks on:
<pre>
Array
(
[1] => Punane
[2] => Kollane
[3] => Roheline
)
Nagu näha said järgnevateks massiivi võtmeteks 2 ja 3. Massiivi võtmeks võib olla ka tekst:
<?php $foor = array('a'=>'Punane', 'b'=>'Kollane', 'c'=>'Roheline'); ?>
Massiivi, mille võtmeteks on tekst, nimetatakse assotsiatiiv massiiviks (associative array)
Massiivielementide arvu leidmiseks on funktsioon count()
<?php $foor = array('a'=>'Punane', 'b'=>'Kollane', 'c'=>'Roheline'); echo count($foor); // väljastatakse 3 ?>
Kontrollida, kas muutuja on massiiv, saab funktsiooniga is_array()
<?php $mass = array(1, 2, 3); if(is_array($mass)) { echo '$mass on massiiv'; } ?>
Masiivi elemente saab väljastada võtme järgi:
<?php $foor = array(1=>'Punane', 'Kollane', 'Roheline'); echo $foor[1] . '<br>'; // Väljastatakse Punane echo $foor[3]; // Väljastatakse Roheline ?>
Kõigi elementide väljastamiseks võib kasutada foreach kordust:
<?php $otsimootorid = array('Yahoo', 'Google', 'Yammy', 'Neti'); foreach($otsimootorid as $voti=>$element) { echo $voti . ':' . $element . "<br>\n"; } ?>
Tulemuseks on
0:Yahoo<br> 1:Google<br> 2:Yammy<br> 3:Neti<br>
Pisut kergema vaevaga saab elemendid väljastamiseks ritta ajada funktsiooni join() abil:
<?php $otsimootorid = array('Yahoo', 'Google', 'Yammy', 'Neti'); echo join("<br>\n", $otsimootorid); ?>
Väljundiks on:
Yahoo<br> Google<br> Yammy<br> Neti
Teades massiivi võtit on võimalik muuta ka masiivielementi ennast:
<?php $foor = array(1=>'Punane', 'Kollane', 'Roheline'); $foor[1] = 'Helepunane'; $foor[3] = 'Tumeroheline'; echo '<pre>'; print_r($foor); ?>
Väljundiks on:
Array
(
[1] => Helepunane
[2] => Kollane
[3] => Tumeroheline
)
Massiivi lõppu elementide lisamiseks on funktsioon array_push()
<?php $puuviljad = array('õunad', 'ploomid'); array_push($puuviljad, 'kreegid', 'pirnid'); print_r($puuviljad); ?>
Väljundiks on:
Array
(
[0] => õunad
[1] => ploomid
[2] => kreegid
[3] => pirnid
)
Sama tulemuse saab järgnevalt:
<?php $puuviljad = array('õunad', 'ploomid'); $puuviljad[] = 'kreegid'; $puuviljad[] = 'pirnid'; print_r($puuviljad); ?>
Massiivi algusesse elementide lisamiseks on funktsioon array_unshift()
<?php $puuviljad = array('õunad', 'ploomid'); array_unshift($puuviljad, 'kreegid', 'pirnid'); print_r($puuviljad); ?>
Väljundiks on:
Array
(
[0] => kreegid
[1] => pirnid
[2] => õunad
[3] => ploomid
)
Elementide kustutamiseks on erinevaid võimalusi, olenevalt sellest mida täpsemalt teha soovitakse.
<?php $osid = array('lin'=>'linux', 'win'=>'windows', 'bsd'=>'bsd', 'qnx'=>'qnx'); array_pop($osid); // massiivi lõpust kaksatakse maha viimane element 'qnx' array_shift($osid); // massiivi algusest kaksatakse maha esimene element 'linux' unset($osid['bsd']); // element eemldatakse võtme järgi print_r($osid); ?>
Tulemuseks on:
Array
(
[win] => windows
)
NB! Lisaks elementide eemaldamisele tagastavad array_pop ja array_shift vastavalt massiivi viimase ning esimese elemendi, nt soovides saada massiivist viimast ning esimest elementi, võib käituda järgnevalt:
<?php $seadmed = array('diskett', 'cd', 'dvd'); // muutuja $viimane väärtuseks saab dvd, ühtlasi eemaldatakse see massiivist $viimane = array_pop($seadmed); // $esimene sisaldab nüüd teksti 'diskett', massiivi $seadmed ainsaks väärtuseks jäi 'cd' $esimene = array_shift($seadmed); ?>
Massiivielemente on võimalik muutujateks teisendada funktsiooni list() abil.
<?php $seadmed = array('diskett', 'cd', 'dvd'); list($alfa, $beta, $gamma) = $seadmed; echo $alfa; // diskett echo $beta; // cd echo $gamma;// dvd ?>
Assotsiatiivmassivi korral saab kasutada järgnevat moodust:
<?php $seadmed = array('alfa'=>'diskett', 'beta'=>'cd', 'gamma'=>'dvd'); extract($seadmed); echo $alfa; // diskett echo $beta; // cd echo $gamma;// dvd ?>
Massiivifunktsioonide peatükk PHP käsiraamatus
Jätkame "valikute" vaatlemisega.