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รค

PHP Array

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ร„,

PHP Array

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ร„,

PHP Array

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.

Tiivistรค tรคmรค viesti seuraavasti: