PHP tömb: asszociatív, többdimenziós

Mi az a PHP tömb?

A PHP tömb egy olyan változó, amely egynél több kapcsolódó adatot tárol egyetlen változóban.

Képzeljen el egy tömböt, mint egy doboz csokoládét, benne résekkel.

A doboz magát a tömböt, míg a csokoládét tartalmazó szóközök a tömbökben tárolt értékeket jelentik.

Az alábbi diagram a fenti szintaxist szemlélteti.

Numerikus tömbök

A numerikus tömbök számot használnak hozzáférési kulcsként.

A hozzáférési kulcs egy tömbváltozóban lévő memóriahelyre való hivatkozás.

A hozzáférési kulcsot akkor használjuk, amikor egy tömbelemet szeretnénk olvasni vagy új értéket rendelni.

Az alábbiakban található a php-ben a numerikus tömb létrehozásának szintaxisa.

Tömb példa

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

Or

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

ITT,

  • A „$változó_neve…” a változó neve
  • Az „[n]” az elem hozzáférési indexszáma
  • Az „érték” a tömbelemhez rendelt érték.

Nézzünk most egy példát egy numerikus tömbre.

Tegyük fel, hogy van 5 filmünk, amelyeket tömbváltozókban szeretnénk tárolni.

Ehhez használhatjuk az alábbi példát.

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

?>

Itt,

PHP tömb

Minden film kap egy indexszámot, amely az értékének lekérésére vagy módosítására szolgál. Vegye figyelembe a következő kódot -

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

output:

Once upon a time in China Eastern Condors

Amint a fenti példákból látható, a PHP tömbökkel való munkavégzése, ha több azonos természetű értékkel foglalkozik, nagyon egyszerű és rugalmas.

Alternatív megoldásként a fenti tömbváltozók a következő kóddal is létrehozhatók.

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

output:

Replacement Killers

PHP asszociatív tömb

Az asszociatív tömb abban különbözik a numerikus tömbtől, hogy az asszociatív tömbök leíró neveket használnak az id kulcsokhoz.

Az alábbiakban látható az asszociatív tömb létrehozásának szintaxisa php-ben.

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

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

ITT,

  • A „$változó_neve…” a változó neve
  • A „['key_name']” az elem hozzáférési indexszáma
  • Az „érték” a tömbelemhez rendelt érték.

Tegyük fel, hogy van egy csoportunk, és minden egyes személy nemét a nevükhöz szeretnénk rendelni.

Ehhez asszociatív tömböt használhatunk. Az alábbi kód ebben segít.

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

ITT,

PHP tömb

output:

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

Az asszociatív tömb nagyon hasznos az adatok adatbázisból való lekérésekor is.

A mezőnevek azonosító kulcsként használatosak.

PHP Többdimenziós tömbök

Ezek olyan tömbök, amelyek más beágyazott tömböket tartalmaznak.

A többdimenziós tömbök előnye, hogy lehetővé teszik a kapcsolódó adatok csoportosítását.

Nézzünk most egy gyakorlati példát, amely egy php többdimenziós tömböt valósít meg.

Az alábbi táblázat a filmek listáját mutatja kategóriák szerint.

Film cím Kategória
Rózsaszín párduc Vígjáték
John angol Vígjáték
Die Hard Akció
Expendables Akció
A gyűrűk ura Epikus
Rómeó és Júlia Románc
Ne láss rosszat, ne hallj gonoszt Vígjáték

A fenti információk többdimenziós tömbként ábrázolhatók. Az alábbi kód a megvalósítást mutatja.

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

ITT,

PHP tömb

output:

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

Ugyanennek a tömbnek egy másik módja a következő

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

output:

Pink Panther

Megjegyzés: a filmek numerikus tömbje a kategória asszociatív tömbbe van beágyazva

PHP tömbök: Operatorzok

Operator Név Leírás Hogyan kell csinálni teljesítmény
x+y Unió Mindkét tömb elemeit egyesíti
<?php
$x = array('id' => 1);

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

$z = $x + $y;
?>
Tömb([id] => 1 [érték] => 10)
X == y Egyenlő Összehasonlít két tömböt, ha egyenlők, és igazat ad vissza, ha igen.
<?php
$x = array("id" => 1);

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

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

}
?>
Igaz vagy 1
X === y Azonos Összehasonlítja mind az értékeket, mind a adattípusok
<?php
$x = array("id" => 1);

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

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Hamis vagy 0
X != y, x <> y Nem egyenlő
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Hamis vagy 0
X !== y Nem azonos
<?php
$x = array("id" => 1);

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

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

PHP tömbfüggvények

Számoló funkció

A count függvény a php tömbben található elemek számának megszámlálására szolgál. Az alábbi kód a megvalósítást mutatja.

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

output:

3

is_array függvény

Az is_array függvény annak meghatározására szolgál, hogy egy változó tömb-e vagy sem. Nézzünk most egy példát, amely megvalósítja az is_array függvényeket.

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

output:

1

Fajta

Ez a függvény a tömbök értékek szerinti rendezésére szolgál.

Ha az értékek alfanumerikusak, akkor ábécé sorrendbe rendezi őket.

Ha az értékek numerikusak, akkor növekvő sorrendbe rendezi őket.

Eltávolítja a meglévő hozzáférési kulcsokat, és új numerikus kulcsokat ad hozzá.

Ennek a függvénynek a kimenete egy numerikus tömb

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

sort($persons);

print_r($persons);
?>

output:

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

ksort

Ez a funkció a tömb rendezésére szolgál a billentyű segítségével. Az alábbi példa illusztrálja a használatát.

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

ksort($persons);

print_r($persons);
?>

output:

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

választék

Ezt funkció a tömb rendezésére szolgál az értékek alapján. Az alábbi példa illusztrálja a használatát.

<?php

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

asort($persons);

print_r($persons);

?>

output:

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

Miért használjunk tömböket?

  • A tömbök tartalma nyújtható,
  • A tömbök könnyedén segítenek csoportosítani a kapcsolódó információkat, például a szerver bejelentkezési adatait
  • A tömbök segítenek tisztább kód írásában.

Összegzésként

  • A tömbök speciális változók, amelyek képesek több értéket tárolni.
  • A tömbök rugalmasak, és könnyen nyújthatók több érték befogadására
  • A numerikus tömbök számokat használnak a tömb kulcsaihoz
  • A PHP asszociatív tömb leíró neveket használ a tömbkulcsokhoz
  • A többdimenziós tömbök más tömböket tartalmaznak bennük.
  • A count függvény a tömbben tárolt elemek számának megállapítására szolgál
  • Az is_array függvény annak meghatározására szolgál, hogy egy változó érvényes tömb-e vagy sem.
  • Egyéb tömbfunkciók közé tartozik a rendezés, a ksort, az assort stb.