PHP polje: asocijativno, višedimenzionalno

Što je PHP polje?

PHP polje je varijabla koja pohranjuje više od jednog dijela povezanih podataka u jednoj varijabli.

Zamislite niz kao bombonijeru s utorima unutra.

Kutija predstavlja sam niz, dok razmaci koji sadrže čokolade predstavljaju vrijednosti pohranjene u nizovima.

Donji dijagram ilustrira gornju sintaksu.

Numerički nizovi

Numerički nizovi koriste broj kao pristupne ključeve.

Pristupni ključ je referenca na memorijski utor u varijabli polja.

Pristupni ključ koristi se kad god želimo pročitati ili dodijeliti novu vrijednost elementu niza.

Ispod je sintaksa za stvaranje numeričkog niza u php-u.

Primjer polja

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, …);
?>

OVDJE,

  • “$variable_name…” je naziv varijable
  • “[n]” je pristupni indeksni broj elementa
  • “vrijednost” je vrijednost dodijeljena elementu niza.

Pogledajmo sada primjer numeričkog niza.

Pretpostavimo da imamo 5 filmova koje želimo pohraniti u niz varijabli.

Za to možemo upotrijebiti primjer prikazan u nastavku.

<?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';

?>

Ovdje,

PHP polje

Svaki film dobiva indeksni broj koji se koristi za dohvaćanje ili izmjenu njegove vrijednosti. Obratite pažnju na sljedeći kod-

<?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];
?>

Izlaz:

Once upon a time in China Eastern Condors

Kao što možete vidjeti iz gornjih primjera, rad s nizovima u PHP-u kada se radi o višestrukim vrijednostima iste prirode vrlo je jednostavan i fleksibilan.

Alternativno, gore navedene varijable niza mogu se stvoriti pomoću sljedećeg koda.

<?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];
?>

Izlaz:

Replacement Killers

PHP asocijativni niz

Asocijativni niz razlikuje se od numeričkog niza u smislu da asocijativni nizovi koriste opisna imena za ID ključeve.

Ispod je sintaksa za stvaranje asocijativnog niza u php-u.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

OVDJE,

  • “$variable_name…” je naziv varijable
  • “['key_name']” je pristupni indeksni broj elementa
  • “vrijednost” je vrijednost dodijeljena elementu niza.

Pretpostavimo da imamo grupu osoba i želimo dodijeliti spol svakoj osobi uz njihovo ime.

Za to možemo upotrijebiti asocijativni niz. Kod u nastavku pomaže nam u tome.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons); 
echo ""; 
echo "Mary is a " . $persons["Mary"];
?>

OVDJE,

PHP polje

Izlaz:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Asocijativni nizovi također su vrlo korisni pri dohvaćanju podataka iz baze podataka.

Nazivi polja koriste se kao ID ključevi.

PHP Višedimenzionalni nizovi

To su nizovi koji sadrže druge ugniježđene nizove.

Prednost višedimenzionalnih nizova je u tome što nam omogućuju grupiranje povezanih podataka.

Pogledajmo sada praktični primjer koji implementira php višedimenzionalni niz.

Donja tablica prikazuje popis filmova po kategorijama.

Naslov filma Kategorija
Pink Panther Komedija
John English Komedija
Die Hard Akcijski
Expendables Akcijski
Gospodar prstenova Ep
Romeo i Julija Romantika
Ne vidi zlo ne čuj zlo Komedija

Gore navedene informacije mogu se prikazati kao višedimenzionalni niz. Kod u nastavku prikazuje implementaciju.

<?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);
?>

OVDJE,

PHP polje

Izlaz:

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 ) )

Drugi način definiranja istog niza je sljedeći

<?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];
?>

Izlaz:

Pink Panther

Napomena: numeričko polje filmova ugniježđeno je unutar asocijativnog polja kategorija

PHP polja: Operaulagatelji

Operahumka Ime i Prezime Description Kako to učiniti Izlaz
x+y Unija Kombinira elemente iz oba niza
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Niz ([id] => 1 [vrijednost] => 10)
X == y Jednak Uspoređuje dva niza ako su jednaki i vraća true ako jesu.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";

}
?>
Istina ili 1
X === y Identičan Uspoređuje i vrijednosti i Vrste podataka
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Netočno ili 0
X != y, x <> y Nejednak
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Netočno ili 0
X !== y Neidentičan
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Istina ili 1

PHP funkcije polja

Funkcija brojanja

Funkcija brojanja koristi se za brojanje elemenata koje sadrži php niz. Kod u nastavku prikazuje implementaciju.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Izlaz:

3

is_array funkcija

Funkcija is_array koristi se za određivanje je li varijabla niz ili nije. Pogledajmo sada primjer koji implementira funkcije is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Izlaz:

1

Vrsta

Ova se funkcija koristi za sortiranje polja prema vrijednostima.

Ako su vrijednosti alfanumeričke, razvrstava ih abecednim redom.

Ako su vrijednosti numeričke, sortira ih uzlaznim redoslijedom.

Uklanja postojeće pristupne tipke i dodaje nove numeričke tipke.

Izlaz ove funkcije je numerički niz

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Izlaz:

Array ( [0] => Female [1] => Female [2] => Male )

ksort

Ova se funkcija koristi za sortiranje niza pomoću ključa. Sljedeći primjer ilustrira njegovu upotrebu.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Izlaz:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

asortiman

Ovaj funkcija koristi se za sortiranje niza pomoću vrijednosti. Sljedeći primjer ilustrira njegovu upotrebu.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Izlaz:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

Zašto koristiti nizove?

  • Sadržaj nizova može se rastegnuti,
  • Nizovi jednostavno pomažu grupirati povezane informacije kao što su podaci za prijavu na poslužitelj
  • Nizovi pomažu u pisanju čistijeg koda.

rezime

  • Nizovi su posebne varijable s kapacitetom pohranjivanja više vrijednosti.
  • Nizovi su fleksibilni i mogu se lako rastegnuti kako bi se prilagodili više vrijednosti
  • Numerički nizovi koriste brojeve za ključeve niza
  • PHP asocijativni niz koristi opisna imena za ključeve niza
  • Višedimenzionalni nizovi unutar sebe sadrže druge nizove.
  • Funkcija brojenja koristi se za dobivanje broja stavki koje su pohranjene u nizu
  • Funkcija is_array koristi se za određivanje je li varijabla važeći niz ili nije.
  • Ostale funkcije niza uključuju sort, ksort, assort itd.