PHP polje: asocijativno, višedimenzionalno

⚡ Pametni sažetak

PHP nizovi pohranjuju mnoge povezane vrijednosti unutar jedne varijable, što olakšava grupiranje i obradu povezanih podataka. Ovaj vodič pokriva numeričke, asocijativne i višedimenzionalne nizove, operatore usporedbe nizova i osnovne funkcije kao što su count, sort, ksort i asort.

  • 🧰 Što rade nizovi: Niz sadrži više povezanih vrijednosti u jednoj varijabli, kojima se pristupa numeričkim ili imenovanim ključevima umjesto mnogo odvojenih varijabli.
  • 🔢 Numerički nizovi: Numerički nizovi koriste cjelobrojne indeksne ključeve počevši od nule za čitanje ili dodjeljivanje svakog pohranjenog elementa.
  • 🏷️ Asocijativni nizovi: Asocijativni nizovi koriste opisne ključeve stringova, što je idealno za uparivanje imena s vrijednostima ili mapiranjemping polja baze podataka.
  • 🧬 Višedimenzionalno: Višedimenzionalni niz ugnijezdi nizove unutar niza, grouping strukturirani podaci poput filmova organiziranih po kategorijama.
  • ⚖️ Poredak Operatorovi: Operator unije spaja nizove, dok == provjerava jednakost vrijednosti, a === također provjerava redoslijed ključeva i tipove podataka.
  • 🔧 Funkcije polja: Funkcije count, is_array, sort, ksort i asort izvještavaju o sadržaju polja i mijenjaju njegov poredak po vrijednosti ili ključu.
  • 🤖 AI pomoć: Alati umjetne inteligencije mogu pretvoriti retke baze podataka u asocijativne nizove i pomoći u otklanjanju zbunjujućih višedimenzionalnih struktura nizova.

PHP nizovi

Š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 prostori koji sadrže čokolade predstavljaju vrijednosti pohranjene u nizu.

Primjeri u nastavku ilustriraju kako to funkcionira.

Numerički nizovi

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

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

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

Ispod je sintaksa za kreiranje 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

Svakom filmu dodijeljen je indeksni broj koji se koristi za dohvaćanje ili izmjenu njegove vrijednosti. Promatrajte 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 nizovi se razlikuju od numeričkih nizova po tome što asocijativni nizovi koriste opisna imena za ID ključeve.

U nastavku slijedi 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 ključ elementa
  • “vrijednost” je vrijednost dodijeljena elementu niza.

Pretpostavimo da imamo skupinu osoba i želimo dodijeliti spol svakoj osobi uz njihova imena.

Za to možemo koristiti asocijativni niz. Donji kod nam u tome pomaže.

<?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 su također 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čan primjer koji implementira višedimenzionalni niz u PHP-u.

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čki niz filmova ugniježđen je unutar asocijativnog niza kategorija.

PHP polja: Operaulagatelji

Operahumka Ime 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 i vraća vrijednost true ako su jednaki
<?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 Vraća vrijednost true ako dva niza nisu jednaka
<?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 Vraća vrijednost true ako dva niza nisu identična po vrijednosti ili tipu
<?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 count koristi se za brojanje elemenata koje PHP niz sadrži. Donji kod 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 ne. Pogledajmo sada primjer koji implementira funkciju is_array.

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

Izlaz:

1

Vrsta

Ova funkcija se koristi za sortiranje nizova po njihovim 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

Ova funkcija koristi se za sortiranje niza pomoću vrijednosti dok keeping tipke. 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 kako bi sadržavao više vrijednosti.
  • Nizovi lako pomažu u grupiranju povezanih informacija poput podataka za prijavu na poslužitelj.
  • Nizovi pomažu u pisanju čistijeg koda.

Pitanja i odgovori

Petlja foreach je najčešći način. Napišite foreach ($array as $value) za čitanje svake vrijednosti ili foreach ($array as $key => $value) za čitanje i ključa i vrijednosti svakog elementa u nizu.

sort() preuređuje vrijednosti i reindeksira niz s novim numeričkim ključevima, gubeći izvorne ključeve. asort() sortira po vrijednosti, ali svaku vrijednost drži vezanom za njezin izvorni ključ, što je važno za asocijativne nizove.

Za dodavanje koristite array_push() ili $arr[] = value, a za uklanjanje s kraja ili početka koristite array_pop() ili array_shift(). Za brisanje određenog elementa po ključu koristite funkciju unset().

Da. Umjetna inteligencija može napisati petlju dohvaćanja koja mapira svaki redak u asocijativni niz s ključem prema nazivu stupca i predložiti korištenje metoda dohvaćanja koje vraćaju asocijativne nizove izravno iz upravljačkog programa baze podataka.

Da. Zalijepite izlaz print_r ili var_dump, a umjetna inteligencija može objasniti ugniježđivanje, pokazati točan put do vrijednosti kao što je $film['comedy'][0] i uočiti neusklađene ključeve ili razine.

Sažmite ovu objavu uz: