Увод у 2Д низове у ПХП-у

Низ је скуп елемената било које врсте података. Постоји много типова података у пхп-у као што су стринг, интегер, боолеан, арраи, објект, ресурс … итд. 2Д матрица је комбинација ових типова података, углавном матрице. Постоје три различита типа 2Д поља у ПХП-у који су следећи:

  • Нумерички низ
  • Асоцијативни низ
  • Мултидимензионални низ

Ова три низа су објашњена у наставку:

1. Нумерички низ: Низ са нумеричким индексом.

Синтакса :

array(value1, value2, value3, …);

Пример :

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

2. Асоцијативни низ : Низ са индексом низа или броја. Елементи ове матрице се чувају у облику пара кључ-вредност.

Синтакса :

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

Пример :

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

3. Вишедимензионални низ : Низ низова је вишедимензионални низ или 2Д матрица или угнијежђена матрица. Овај формат је увек низ или низ. И на тај начин назван угнијежђен низ.

Синтакса:

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

)

Е кампле:

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

У горњем примјеру, улазни низ је примјер дводимензионалног низа. Овде главни низ садржи 2 елемента где је сваки елемент и даље низ од 3 елемента.

Како дефинирати 2Д низове?

Сазнали смо да је у 2Д пољу елемент вредности низ који даље може имати подраслове. Димензије које се спомињу у низу су у облику редова и ступаца. Имајући у виду табеларни формат матрице, лакше је научити како их дефинисати. Значи да ако се ради о дводимензионалном низу, користиће се два индекса, слично, ако је тродимензионални низ, користиће се три индекса и тако даље.

Како креирати 2Д низове?

Пошто знамо како дефинирати 2Д низ, сада га можемо креирати. Овде индекс није дефинисан и по дефаулту је број који увек почиње са 0.

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

Низ се такође може дефинисати у облику асоцијативног низа.

(in key =>value form)

Индекс или кључ је низ попут боја, воћа и аутомобила. Елементи вредности су у облику низа који садржи 3 елемента сваки.

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

Како приступити елементима 2Д поља?

Да бисте приступили овим вриједностима поља, можете користити квадратне заграде. Како пролазите дубље у више нивоа 2Д матрице, употреба скупа квадратних заграда ће се повећавати са сваким нивоом.

Пример # 1

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

Не заборавите да први сет квадратних заграда садржи кључ који су у овом случају боје, воће, аутомобили. Следи још један сет квадратних заграда за прелазак на следећи ниво и може му се приступити бројевима попут 0, 1, 2.

Дакле, ако желимо приступити елементу „Грожђе“ у горњој матрици,

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

Слично следећим примерима

Ако желимо да приступимо елементу „Мерцедес“ у низу

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

Ако желимо да приступимо елементу „Ред“ у низу

echo $input('colors)(0);

Пошто индекс увек почиње са 0 у низу.

Пример бр. 2

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

Ако желимо да приступимо елементу „Оранге“ у горњој матрици, користићемо следећу линију

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

Како убацити елементе 2Д поља у ПХП?

Будући да знамо како дефинирати, креирати и приступити елементима матрице, сада ћемо научити како уметнути елементе у низ. Постоје функције матрице дефиниране у ПХП-у за рад на вишедимензионалним низовима попут функције арраи_пусх () за уметање, функцију арраи_схифт () за уклањање и тако даље.

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

Помоћу функције принт_р () исписат ћемо низ најприје онакав какав јест.

Шифра:

//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 "

 ";
принт_р ($ инпут);
одјек "
 ";

Излаз:

Сада за додавање елемента у подскупове воћа које ћемо користити

array_push() function

Синтакса:

array_push(array, value1, value2…)

Где,

  • Низ је $ инпут поље
  • валуе1 је елемент који се додаје у низ
  • валуе2, валуе3, нису обавезни

Пример # 1

Шифра:

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

 ";
принт_р ($ инпут);
одјек "
 ";

Излаз:

У доњем програму смо само уклонили кључ „боје“ и открили да се додаје задњем од датог низа помоћу тастера 0 као што је приказано на излазној слици.

Пример бр. 2

Шифра:

// 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 "

 ";
принт_р ($ инпут);
одјек "
 ";

Излаз:

Пример бр. 3

Шифра:

//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 "

 ";
принт_р ($ инпут);
одјек "
 ";

Излаз:

Како ажурирати елементе 2Д-а у ПХП-у?

Да бисте ажурирали елемент 2Д матрице, само набавите кључ од матрице и замените вредност тог кључа у одређеној матрици.

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

Пример # 1

Шифра:

//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 "

 ";
принт_р ($ инпут);
одјек "
 ";

Излаз:

Пример бр. 2

Шифра:

//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 "

 ";
принт_р ($ инпут);
одјек "
 ";

Излаз:

Како избрисати елементе 2Д поља?

За брисање елемента 2Д матрице користићемо функцију арраи_схифт ().

арраи_схифт уклања и враћа вриједност првог елемента матрице.

Синтакса:

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

Пример # 1

Шифра:

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

Излаз:

Пример бр. 2

Шифра:

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

Излаз:

Дводимензионално у асоцијативном низу

У следећем примеру смо направили дводимензионални низ који садржи информације о књигама попут аутора књиге, врсти књиге и која је објављена у години. Такође, научићемо како да се кроз овај низ прелазе или петљају. Прегледавајући се кроз вишедимензионални низ користит ћемо угнијежђену петљу фореацх-а. Значи једна петља фореацх унутар друге петље фореацх. Исто се може учинити и помоћу петље.

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

Само штампање горњег низа без икакве петље даће нам следећи излаз:

Шифра:

// 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 "

 ";
принт_р ($ инпут);
одјек "
";

Излаз:

Сада ћемо исписати вишедимензионални низ користећи петљу фореацх.

Шифра:

// 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. "
";
)
)

Излаз:

Закључак

Надам се да је овај чланак користан за учење концепата теме на 2Д пољу у ПХП-у. Ова тема покрива све концепте потребне за разумевање 2Д матрице у ПХП-у. Ова тема је поједностављена уз помоћ примера са излазним сликама које треба упутити. Према том чланку, ако се сви програми добро вежбају, сигурно ће вам помоћи да лако схватите концепте. Надам се да је тема постала информативнија за стицање више знања.

Препоручени чланци

Ово је водич за 2Д низове у ПХП-у. Овде смо расправљали о три различита типа матрице у пхп-у и Како ажурирати, уметати и брисати елементе 2Д матрице са одговарајућим примерима. Такође можете погледати следећи чланак.

  1. За петљу у ПХП-у
  2. Замјена у ПХП-у
  3. Звездни узорци у ПХП-у
  4. ПХП Цонстаннтс
  5. Водич за различите Ц # типове података

Категорија: