PHP Array: assosiatiivinen, moniulotteinen
Mikรค on PHP Array?
PHP-taulukko on muuttuja, joka tallentaa useamman kuin yhden aiheeseen liittyvรคn datan yhteen muuttujaan.
Ajattele sarjaa suklaarasiana, jonka sisรคllรค on aukkoja.
Laatikko edustaa itse taulukkoa, kun taas suklaata sisรคltรคvรคt vรคlilyรถnnit edustavat taulukoihin tallennettuja arvoja.
Alla oleva kaavio havainnollistaa yllรค olevaa syntaksia.
Numeeriset taulukot
Numeeriset taulukot kรคyttรคvรคt numeroa pรครคsyavaimina.
Pรครคsyavain on viittaus taulukkomuuttujan muistipaikkaan.
Pรครคsyavainta kรคytetรครคn aina, kun haluamme lukea tai mรครคrittรครค uuden arvon taulukkoelementille.
Alla on syntaksi numeerisen taulukon luomiseksi php:ssรค.
Esimerkki taulukosta
<?php $variable_name[n] = value; ?>
Or
<?php $variable_name = array(n => value, โฆ); ?>
TรSSร,
- "$muuttujan_nimiโฆ" on muuttujan nimi
- "[n]" on elementin pรครคsyindeksinumero
- "arvo" on taulukkoelementille mรครคritetty arvo.
Katsotaanpa nyt esimerkkiรค numeerisesta taulukosta.
Oletetaan, ettรค meillรค on 5 elokuvaa, jotka haluamme tallentaa taulukkomuuttujiin.
Voimme kรคyttรครค alla olevaa esimerkkiรค tehdรคksesi sen.
<?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'; ?>
Tรครคllรค
Jokaiselle elokuvalle annetaan indeksinumero, jota kรคytetรครคn sen arvon hakemiseen tai muokkaamiseen. Huomioi seuraava 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]; ?>
lรคhtรถ:
Once upon a time in China Eastern Condors
Kuten yllรค olevista esimerkeistรค nรคet, PHP:n taulukoiden kรคyttรคminen useiden samanluonteisten arvojen kรคsittelyssรค on erittรคin helppoa ja joustavaa.
Vaihtoehtoisesti yllรค olevat taulukkomuuttujat voidaan luoda myรถs kรคyttรคmรคllรค seuraavaa koodia.
<?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];
?>
lรคhtรถ:
Replacement Killers
PHP-assosiatiivinen array
Assosiatiivinen taulukko eroaa numeerisesta taulukosta siinรค mielessรค, ettรค assosiatiiviset taulukot kรคyttรคvรคt kuvailevia nimiรค id-avaimille.
Alla on syntaksi assosiatiivisen taulukon luomiseen php:ssรค.
<?php
$variable_name['key_name'] = value;
$variable_name = array('keyname' => value);
?>
TรSSร,
- "$muuttujan_nimiโฆ" on muuttujan nimi
- "['key_name']" on elementin pรครคsyindeksinumero
- "arvo" on taulukkoelementille mรครคritetty arvo.
Oletetaan, ettรค meillรค on ryhmรค henkilรถitรค, ja haluamme mรครคrittรครค jokaisen henkilรถn sukupuolen heidรคn nimeensรค.
Voimme kรคyttรครค assosiatiivista taulukkoa tรคhรคn. Alla oleva koodi auttaa meitรค tekemรครคn sen.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>
TรSSร,
lรคhtรถ:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Assosiatiiviset taulukot ovat myรถs erittรคin hyรถdyllisiรค haettaessa tietoja tietokannasta.
Kenttien nimiรค kรคytetรครคn id-avaimina.
PHP Moniulotteiset taulukot
Nรคmรค ovat taulukoita, jotka sisรคltรคvรคt muita sisรคkkรคisiรค taulukoita.
Moniulotteisten taulukoiden etuna on, ettรค niiden avulla voimme ryhmitellรค toisiinsa liittyviรค tietoja.
Katsotaanpa nyt kรคytรคnnรถn esimerkkiรค, joka toteuttaa php:n moniulotteisen taulukon.
Alla olevassa taulukossa on luettelo elokuvista luokittain.
| Elokuvan nimi | Luokka |
|---|---|
| Pink Panther | Komedia |
| John Englanti | Komedia |
| Olla sitkeรคhenkinen | Toiminta |
| Expendables | Toiminta |
| Taru sormusten herrasta | Eeppinen |
| Romeo ja Juulia | romanssi |
| รlรค nรคe pahaa รคlรค kuule pahaa | Komedia |
Yllรค olevat tiedot voidaan esittรครค moniulotteisena taulukkona. Alla oleva koodi nรคyttรครค toteutuksen.
<?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);
?>
TรSSร,
lรคhtรถ:
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 ) )
Toinen tapa mรครคrittรครค sama taulukko on seuraava
<?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];
?>
lรคhtรถ:
Pink Panther
Huomautus: elokuvien numeerinen matriisi on sijoitettu kategorioiden assosiatiivisen taulukon sisรครคn
PHP-taulukot: OperaTors
| OperaTor | Nimi | Tuotetiedot | Kuinka tehdรค se | ulostulo |
|---|---|---|---|---|
| x+y | Liitto | Yhdistรครค elementtejรค molemmista taulukoista |
<?php
$x = array('id' => 1);
$y = array('value' => 10);
$z = $x + $y;
?>
|
Taulukko([id] => 1 [arvo] => 10) |
| X == y | Yhtรค suuri | Vertaa kahta taulukkoa, jos ne ovat yhtรค suuret, ja palauttaa tosi, jos kyllรค. |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Totta tai 1 |
| X === y | identtinen | Vertaa sekรค arvoja ettรค Tietotyyppejรค |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Epรคtosi tai 0 |
| X != y, x <> y | Ei yhtรค |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Epรคtosi tai 0 | |
| X !== y | Ei identtinen |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Totta tai 1 |
PHP Array Funktiot
Laskutoiminto
Count-funktiota kรคytetรครคn laskemaan php-taulukon sisรคltรคmien elementtien lukumรครคrรค. Alla oleva koodi nรคyttรครค toteutuksen.
<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>
lรคhtรถ:
3
is_array-funktio
Is_array-funktiota kรคytetรครคn mรครคrittรคmรครคn, onko muuttuja jono vai ei. Katsotaanpa nyt esimerkkiรค, joka toteuttaa is_array-funktiot.
<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>
lรคhtรถ:
1
Lajitella
Tรคtรค funktiota kรคytetรครคn taulukoiden lajitteluun arvojen mukaan.
Jos arvot ovat aakkosnumeerisia, se lajittelee ne aakkosjรคrjestykseen.
Jos arvot ovat numeerisia, se lajittelee ne nousevaan jรคrjestykseen.
Se poistaa nykyiset pรครคsyavaimet ja lisรครค uusia numeronรคppรคimiรค.
Tรคmรคn funktion tulos on numeerinen taulukko
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
sort($persons);
print_r($persons);
?>
lรคhtรถ:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Tรคtรค toimintoa kรคytetรครคn lajittelemaan taulukko nรคppรคimen avulla. Seuraava esimerkki havainnollistaa sen kรคyttรถรค.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
ksort($persons);
print_r($persons);
?>
lรคhtรถ:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
lajitelma
Tรคmรค toiminto kรคytetรครคn lajittelemaan taulukko arvojen avulla. Seuraava esimerkki havainnollistaa sen kรคyttรถรค.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
asort($persons);
print_r($persons);
?>
lรคhtรถ:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Miksi kรคyttรครค taulukoita?
- Arrayiden sisรคltรถรค voidaan venyttรครค,
- Taulukot auttavat helposti ryhmittelemรครคn toisiinsa liittyviรค tietoja, kuten palvelimen kirjautumistiedot
- Taulukot auttavat kirjoittamaan puhtaampaa koodia.
Yhteenveto
- Taulukot ovat erikoismuuttujia, joilla on kyky tallentaa useita arvoja.
- Taulukot ovat joustavia ja niitรค voidaan helposti venyttรครค enemmรคn arvoja varten
- Numeeriset taulukot kรคyttรคvรคt numeroita taulukon avaimina
- PHP Associative array kรคyttรครค kuvaavia nimiรค taulukkoavaimille
- Moniulotteiset taulukot sisรคltรคvรคt muita matriiseja sisรคllรครคn.
- Count-funktiota kรคytetรครคn mรครคrittรคmรครคn taulukkoon tallennettujen kohteiden lukumรครคrรค
- Is_array-funktiota kรคytetรครคn mรครคrittรคmรครคn, onko muuttuja kelvollinen taulukko vai ei.
- Muita taulukkotoimintoja ovat lajittelu, kssort, lajittelu jne.



