PHP massiiv: assotsiatiivne, mitmemõõtmeline
⚡ Nutikas kokkuvõte
PHP massiivid salvestavad ühte muutujasse palju seotud väärtusi, muutes seotud andmete grupeerimise ja töötlemise lihtsaks. See käsiraamat hõlmab numbrilisi, assotsiatiivseid ja mitmemõõtmelisi massiive, massiivide võrdlusoperaatoreid ning põhifunktsioone, nagu count, sort, ksort ja asort.

Mis on PHP massiiv?
PHP massiiv on muutuja, mis salvestab ühte muutujasse rohkem kui ühe seotud andmed.
Mõelge massiivile kui šokolaadikarbile, mille sees on pilud.
Kast tähistab massiivi ennast, samas kui šokolaadi sisaldavad tühikud tähistavad massiivis talletatud väärtusi.
Allolevad näited illustreerivad, kuidas see toimib.
Numbrilised massiivid
Numbrilised massiivid kasutavad numbreid juurdepääsuvõtmetena.
Pääsuvõti on viide massiivimuutuja mälupesale.
Juurdepääsuvõtit kasutatakse alati, kui soovime massiivi elemendilt lugeda või uue väärtuse määrata.
Allpool on süntaks numbrilise massiivi loomiseks PHP-s.
Massiivi näide
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
SIIN,
- "$muutuja_nimi…" on muutuja nimi
- "[n]" on elemendi juurdepääsuindeksi number
- "value" on massiivi elemendile määratud väärtus.
Vaatame nüüd numbrilise massiivi näidet.
Oletame, et meil on 5 filmi, mida tahame massiivi muutujatena salvestada.
Selleks saame kasutada allpool toodud näidet.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Siin
Igale filmile antakse indeksnumber, mida kasutatakse selle väärtuse hankimiseks või muutmiseks. Jälgige järgmist koodi.
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Väljund:
Once upon a time in China Eastern Condors
Nagu ülaltoodud näidetest näha, on PHP-s massiividega töötamine mitme sama laadi väärtusega tegelemisel väga lihtne ja paindlik.
Teise võimalusena saab ülaltoodud massiivi muutujaid luua ka järgmise koodi abil.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
Väljund:
Replacement Killers
PHP assotsiatiivne massiiv
Assotsiatiivsed massiivid erinevad numbrilistest massiividest selle poolest, et assotsiatiivsed massiivid kasutavad ID-võtmete jaoks kirjeldavaid nimesid.
Allpool on assotsiatiivse massiivi loomise süntaks PHP-s.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
SIIN,
- "$muutuja_nimi…" on muutuja nimi
- „['võtme_nimi']” on elemendi juurdepääsuvõti
- "value" on massiivi elemendile määratud väärtus.
Oletame, et meil on rühm inimesi ja me tahame iga inimese soo tema nime kõrvale määrata.
Selleks saame kasutada assotsiatiivset massiivi. Allolev kood aitab meil seda teha.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
SIIN,
Väljund:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Assotsiatiivsed massiivid on väga kasulikud ka andmebaasist andmete hankimisel.
Väljade nimesid kasutatakse ID-võtmetena.
PHP Mitmemõõtmelised massiivid
Need on massiivid, mis sisaldavad muid pesastatud massiive.
Mitmemõõtmeliste massiivide eeliseks on see, et need võimaldavad meil omavahel seotud andmeid rühmitada.
Vaatame nüüd praktilist näidet, mis rakendab PHP mitmemõõtmelist massiivi.
Allolev tabel näitab filmide loendit kategooriate kaupa.
| Filmi pealkiri | Kategooria |
|---|---|
| Pink Panther | Komöödia |
| John inglise | Komöödia |
| visa kaduma | tegevus |
| Käibematerjalid | tegevus |
| Sõrmuste isand | Eepiline |
| Romeo ja Julia | romantika |
| Ei näe kurja, ära kuule kurja | Komöödia |
Ülaltoodud teavet saab esitada mitmemõõtmelise massiivina. Allolev kood näitab rakendamist.
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
SIIN,
Väljund:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Teine viis sama massiivi defineerimiseks on järgmine.
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
Väljund:
Pink Panther
Märkus: filmide numbriline massiiv on pesastatud kategooriate assotsiatiivse massiivi sisse.
PHP massiivid: Operatorse
| Operator | Eesnimi | Kirjeldus | Kuidas seda teha | Väljund |
|---|---|---|---|---|
| x+y | Liit | Kombineerib mõlema massiivi elemente |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Massiiv([id] => 1 [väärtus] => 10) |
| x == y | võrdne | Võrdleb kahte massiivi ja tagastab väärtuse tõene, kui need on võrdsed |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Tõsi või 1 |
| x === y | Identne | Võrdleb nii väärtusi kui andmetüübid |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Vale või 0 |
| x != y, x <> y | Pole võrdne | Tagastab väärtuse tõene, kui kaks massiivi ei ole võrdsed |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Vale või 0 |
| x !== y | Mitte identsed | Tagastab väärtuse tõene, kui kaks massiivi ei ole väärtuse või tüübi poolest identsed. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Tõsi või 1 |
PHP massiivi funktsioonid
Loendamise funktsioon
Count funktsiooni kasutatakse PHP massiivi elementide arvu loendamiseks. Allolev kood näitab selle rakendamist.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Väljund:
3
is_massiiv funktsioon
Funktsiooni is_array kasutatakse selleks, et teha kindlaks, kas muutuja on massiiv või mitte. Vaatame nüüd näidet, mis rakendab funktsiooni is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Väljund:
1
Sort
Seda funktsiooni kasutatakse massiivide sortimiseks nende väärtuste järgi.
Kui väärtused on tähtnumbrilised, sorteerib see need tähestikulises järjekorras.
Kui väärtused on numbrilised, sorteerib see need kasvavas järjekorras.
See eemaldab olemasolevad juurdepääsuvõtmed ja lisab uued numbriklahvid.
Selle funktsiooni väljund on numbriline massiiv.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Väljund:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Seda funktsiooni kasutatakse massiivi sortimiseks klahvi abil. Järgmine näide illustreerib selle kasutamist.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Väljund:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
sortiment
see funktsioon kasutatakse massiivi sortimiseks väärtuste abil, samal ajal kui keeping võtmed. Järgmine näide illustreerib selle kasutamist.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Väljund:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Miks kasutada massiive?
- Massiivi sisu saab venitada, et mahutada rohkem väärtusi.
- Massiivid aitavad hõlpsalt grupeerida seotud teavet, näiteks serveri sisselogimisandmeid.
- Massiivid aitavad kirjutada puhtamat koodi.



