Kétdimenziós tömbök felépülése

Mivel a tömb egy elemének értéke bármi lehet, értékként akár egy másik tömböt is megadhatunk.
Ilyen formában készíthetünk rekurzív vagy többdimenziós tömböket.

1. Példa:
Az array() nyelvi elemmel történő kétdimenziós tömb létrehozására.

$vegyesbolt = array("árukészlet" => array("a" => "narancs",
"b" => "banán",
"c" => "tojás" ),
 
"mennyiség" => array (

"a" => "db",
"b" => "kg",
"c" => "csomag" ),
 
"egységár" => array (

"a" => 20,
"b"=> 250,
"c" => 385 )
                       );  
  

2. Példa:
A szögletes [ ] zárójelekkel történő, kétdimenziós tömb létrehozására.

$vegyesbolt["árukeszlet"]["a"] = "narancs";
$vegyesbolt["árukeszlet"]["b"] = "banán";
$vegyesbolt["árukeszlet"]["c"] = "tojás";

$vegyesbolt["mennyiség"]["a"] = "db";
$vegyesbolt["mennyiség"]["b"] = "kg";
$vegyesbolt["mennyiség"]["c"] = "csomag";

$vegyesbolt["egységár"]["a"] = 20;
$vegyesbolt["egységár"]["b"] = 250;
$vegyesbolt["egységár"]["c"] = 385;

A kétdimenziós tömbök tartalmának bővítése.


Néhány példa a fenti kétdimenziós tömbök elemeinek hivatkozására.


 


Bemutató példa.
<?php
$vegyesbolt = array(
                "árukészlet" => array(
                      "a" => "narancs",
                      "b" => "banán",
                      "c" => "tojás" ),
  	
                "mennyiség" => array (	
                      "a" => "db",
                      "b" => "kg",
                      "c" => "csomag" ),
  	
               "egységár" => array (	
                     "a" => 20,
                     "b"=> 250,
                     "c" => 385 )

    ); 

echo $vegyesbolt["árukészlet"]["b"];              // kiírja, hogy "banán"
echo "<br />";
echo $vegyesbolt["egységár"]["b"];               // kiírja, hogy "250"
//unset($vegyesbolt["árukészlet"]["a"]);          // eltávolítja az "a" indexel rendelkező elemet 

echo"A vegyesbolban:<br />";
echo $vegyesbolt["árukészlet"]["b"]." ". $vegyesbolt["egységár"]["b"]."Ft / ".$vegyesbolt["mennyiség"]["b"];
?>
Programunk eredménye:














banán


250


A vegyesbolban:
banán 250Ft / kg

 


Fenti programunk alapján, elkészíthetjük a vállalatnál dolgozók adatainak nyilvántartását, vagy a regisztrált felhasználók nyilvántartását, és tetszőleges adatot kérhetünk le.

 


 

Referencia & operátor alkalmazása tömböknél.

Tömb értékül adása másik tömbnek, ez másolást jelent.

Bemutató példa.
<?php

$elso_tomb = array(4, 8);
echo"1.tömb [0]elem tartalma = "."$elso_tomb[0]"."<br />";
echo"1.tömb [1]elem tartalma = "."$elso_tomb[1]"."<br />";

$masodik_tomb = $elso_tomb;
// A 2.tömb, átveszi az 1.tömb tartalmát.
echo"2.tömb [0]elem tartalma = "."$masodik_tomb[0]"."<br />";
echo"2.tömb [1]elem tartalma = "."$masodik_tomb[1]"."<br />";

$masodik_tomb[] = 5; 
//2.tömb tartalma megváltozott, azaz bővült.
echo"2.tömb [0]elem tartalma = "."$masodik_tomb[0]"."<br />";
echo"2.tömb [1]elem tartalma = "."$masodik_tomb[1]"."<br />";
echo"2.tömb [2]elem tartalma = "."$masodik_tomb[2]"."<br />";

echo"1.tömb nem változott, még mindig array(4, 8)<br />";
print_r($elso_tomb);
echo"<br />";

// 3. és 1.tömb, összekapcsolása referencia operátorral.
// 3.tömb, átveszi az 1.tömb tartalmát.              
$harmadik_tomb = &$elso_tomb;
echo"3.tömb [0]elem tartalma = "."$harmadik_tomb[0]"."<br />";
echo"3.tömb [1]elem tartalma = "."$harmadik_tomb[1]"."<br />";


// 3.tömb tartalmát megváltoztatjuk, referencia operátor
// hatására, 1.tömb tartalma is megváltozik.
$harmadik_tomb[] = 5; echo"3.tömb [0]elem tartalma = "."$harmadik_tomb[0]"."<br />"; echo"3.tömb [1]elem tartalma = "."$harmadik_tomb[1]"."<br />"; echo"3.tömb [2]elem tartalma = "."$harmadik_tomb[2]"."<br />"; echo"1.tömb [0]elem tartalma = "."$elso_tomb[0]"."<br />"; echo"1.tömb [1]elem tartalma = "."$elso_tomb[1]"."<br />"; echo"1.tömb [2]elem tartalma = "."$elso_tomb[2]"."<br />"; ?>
Programunk eredménye:

Első tömb első elemének tartalma = 4
Első tömb második elemének tartalma = 8


A masodik_tomb, átveszi az elso_tomb tartalmát
Második tömb első elemének tartalma = 4
Második tömb második elemének tartalma = 8


Második tömb tartalma megváltozott, azaz bővült.
Második tömb első elemének tartalma = 4
Második tömb második elemének tartalma = 8
Második tömb harmadik elemének tartalma = 5

1.tömb tartalma nem változott, még mindig array(4, 8)
Array ( [0] => 4 [1] => 8 )



3.tömb, és 1.tömb, összekapcsolása referencia operátorral.
A harmadik_tomb, átveszi az elso_tomb tartalmát
Harmadik tömb első elemének tartalma = 4
Harmadik tömb második elemének tartalma = 8



Harmadik tömb tartalmát megváltoztatjuk,
referencia operátor hatására, az első tömb tartalma is megváltozik.

Harmadik tömb első elemének tartalma = 4
Harmadik tömb második elemének tartalma = 8
Harmadik tömb harmadik elemének tartalma = 5

Első tömb első elemének tartalma = 4
Első tömb második elemének tartalma = 8
Első tömb harmadik elemének tartalma = 5