Uvod u 2D nizove u PHP-u

Niz je skup elemenata bilo koje vrste podataka. Postoje mnoge vrste podataka u php-u, poput niza, cjelobrojnih, logičkih, nizova, objekata, resursa … itd. 2D polje je kombinacija ovih tipova podataka, uglavnom matrice. Postoje tri različite vrste 2D polja u PHP-u koje su sljedeće:

  • Numerički niz
  • Niz asocijativnih
  • Višedimenzionalni niz

Ova tri niza su objašnjena u nastavku:

1. Numerički niz: Niz s numeričkim indeksom.

Sintaksa :

array(value1, value2, value3, …);

Primjer :

$input = array(10, 20, 30, 40, 50);

2. Asocijativni niz : Niz sa indeksom niza ili broja. Elementi ove matrice pohranjuju se u obliku para ključ-vrijednost.

Sintaksa :

array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', …);

Primjer :

$input = array(0 =>Emma, 1=>Alice, 2=>'John');

3. Višedimenzionalni niz : Niz matrice je višedimenzionalni niz ili dvodimenzionalni niz ili ugniježđena matrica. Ovaj format je uvijek niz ili niz. I tako se naziva gnijezdo niza.

Sintaksa:

array (
array (elements…),
array (elements…),

)

E xample:

$input = array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

U gornjem primjeru, ulazni niz je primjer dvodimenzionalnog niza. Ovdje glavna matrica sadrži 2 elementa gdje je svaki element i dalje niz od 3 elementa.

Kako definirati 2D matrice?

Saznali smo da je u 2D polju element vrijednosti niz koji nadalje može imati podraslove. Dimenzije koje se spominju u nizu su u obliku redova i stupaca. Imajući na umu tablični format matrice, lakše je naučiti kako definirati te nizove. Znači da ako se radi o dvodimenzionalnom nizu, upotrijebit će se dva indeksa, slično, ako je trodimenzionalni niz, upotrijebit će se tri indeksa i tako dalje.

Kako stvoriti 2D matrice?

Budući da znamo kako definirati 2D niz, sada ga možemo stvoriti. Ovdje indeks nije definiran i prema zadanim postavkama je broj koji uvijek počinje s 0.

$input=array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

Niz se također može definirati u obliku asocijativnog niza.

(in key =>value form)

Indeks ili ključ je niz poput boja, voća i automobila. Elementi vrijednosti su u obliku niza koji sadrži 3 elementa svaki.

$input = array(
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array (“BMW”, ”Skoda”, ”Mercedes”)
);

Kako pristupiti elementima 2D polja?

Za pristup ovim vrijednostima polja možete se koristiti uglatim zagradama. Kako prolazite dublje u više razina 2D matrice, upotreba skupa četvrtastih zagrada povećavat će se sa svakom razinom.

Primjer 1

$input = array (
'colors' =>array (“Red", "Green", "Blue"),
'fruits' =>array ("Apple", "Orange", "Grapes"),
'cars' =>array ("Skoda", "BMW", "Mercedes")
);

Zapamtite da prvi set uglatih zagrada sadrži ključ koji su u ovom slučaju boje, voće, automobili. Nakon toga slijedi još jedan skup uglatih zagrada za prelazak na sljedeću razinu i može se pristupiti brojevima poput 0, 1, 2.

Dakle, ako želimo pristupiti elementu "Grožđe" u gornjem nizu,

echo $input('fruits')(2);

Slično slijedećim primjerima

Ako tada želimo pristupiti elementu "Mercedes" u nizu

echo $input('cars')(2);

Ako tada želimo pristupiti elementu "Red" u nizu

echo $input('colors)(0);

Kako indeks uvijek započinje s nizom 0.

Primjer 2

$input = array (
array (“Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple"),
);

Ako želimo pristupiti elementu "Orange" u gornjem nizu, upotrijebit ćemo sljedeći redak

echo $input(0)(1);
will give “Green”
echo $input(1)(2);
will give “Purple”
echo $input(0)(0);
will give “Red”

Kako umetnuti elemente 2D matriksa u PHP?

Budući da znamo kako definirati, kreirati i pristupiti elementima polja, sada ćemo naučiti kako umetnuti elemente u niz. Postoje PHP funkcije definirane u PHP-u za rad na višedimenzionalnim nizovima poput funkcije array_push () za umetanje, funkciju array_shift () za uklanjanje i tako dalje.

$input = array (
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array ("Skoda", "BMW", "Mercedes")
);

Pomoću funkcije print_r () ispisat ćemo niz najprije onakav kakav jest.

Kodirati:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// print the multidimensional array
echo "

 „;
print_r ($ ulaz);
jeka "
 „;

Izlaz:

Sada za dodavanje elementa u podlogu voćaka koje ćemo koristiti

array_push() function

Sintaksa:

array_push(array, value1, value2…)

Gdje,

  • Niz je ulazni niz
  • value1 je element koji se dodaje nizu
  • value2, value3, nisu obavezni

Primjer 1

Kodirati:

$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
array_push($input('colors'), "Black");
echo "

 „;
print_r ($ ulaz);
jeka "
 „;

Izlaz:

U donjem programu smo samo uklonili tipku "boje" i otkrili da se dodaje zadnjoj od datog polja s tipkom 0 kao što je prikazano na izlaznoj slici.

Primjer 2

Kodirati:

// create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// adding a value to array
array_push($input, "Black");
// print the multidimensional array
echo "

 „;
print_r ($ ulaz);
jeka "
 „;

Izlaz:

Primjer 3

Kodirati:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//add a color to the array
array_push($input, "Black");
// print the multidimensional array
echo "

 „;
print_r ($ ulaz);
jeka "
 „;

Izlaz:

Kako ažurirati elemente 2D-a u PHP-u?

Za ažuriranje elementa 2D matrice samo nabavite ključ od polja i zamijenite vrijednost tog ključa u određenom polju.

$input('cars')('Mercedes') = 'Duster';

Primjer 1

Kodirati:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//update the Mercedes with Duster
$input("cars")(2) = "Duster";
// print the multidimensional array
echo "

 „;
print_r ($ ulaz);
jeka "
 „;

Izlaz:

Primjer 2

Kodirati:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//update the Mercedes with Duster
$input(0)(1) = "White";
// print the multidimensional array
echo "

 „;
print_r ($ ulaz);
jeka "
 „;

Izlaz:

Kako izbrisati elemente 2D matrice?

Za brisanje elementa 2D matrice koristit ćemo funkciju array_shift ().

array_shift uklanja i vraća vrijednost prvog elementa matrice.

Sintaksa:

array_shift(array)
where
-array is the $input array

Primjer 1

Kodirati:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//print the removed element
print_r(array_shift($input));

Izlaz:

Primjer 2

Kodirati:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//print the removed element
print_r(array_shift($input));

Izlaz:

Dvodimenzionalno u asocijativnom nizu

U sljedećem primjeru stvorili smo dvosmjerni niz koji sadrži podatke o knjigama poput autora knjige, vrsti knjige i koji su objavljeni u godini. Također ćemo naučiti kako prijeći ili petljati kroz ovaj niz. Pregledavajući višedimenzionalni niz koristit ćemo ugniježđenu petlju predigre. Znači jedna petlja predigle unutar druge prednje petlje. Isto se može učiniti i pomoću petlje.

$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);

Samo ispis gornjeg niza bez ikakve petlje dobit će nam sljedeći izlaz:

Kodirati:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
// print the plain multidimensional array
echo "

 „;
print_r ($ ulaz);
jeka "
„;

Izlaz:

Sada ćemo ispisati višedimenzionalni niz pomoću petlje foreach.

Kodirati:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
//foreach to loop the outer array
foreach($input as $book) (
echo "
";
// foreach to loop the inner array
foreach($book as $key=>$value)
(
echo $key." ". $value. "
";
)
)

Izlaz:

Zaključak

Nadam se da je ovaj članak koristan za učenje koncepata teme na 2D polju u PHP-u. Ova tema pokriva sve koncepte potrebne za razumijevanje 2D polja u PHP-u. Ova je tema pojednostavljena pomoću primjera s ishodišnim snimkama na koje ćete se pozivati. Prema tom članku, ako se svi programi dobro vježbaju, zasigurno će vam pomoći da shvatite koncepte lako. Nadam se da je tema postala informativnijom za stjecanje više znanja.

Preporučeni članci

Ovo je vodič za 2D polja u PHP-u. Ovdje smo raspravljali o tri različite vrste matrice u php-u i Kako ažurirati, umetnuti i izbrisati elemente 2D matrike s odgovarajućim primjerima. Možete pogledati i sljedeći članak.

  1. Za petlju u PHP-u
  2. Zamjena u PHP-u
  3. Zvjezdani uzorci u PHP-u
  4. PHP konstante
  5. Vodič za različite C # tipove podataka

Kategorija: