Pole PHP: Asociativní, vícerozměrné
Co je to PHP Array?
Pole PHP je proměnná, která ukládá více než jeden kus souvisejících dat do jedné proměnné.
Představte si pole jako bonboniéru s otvory uvnitř.
Pole představuje samotné pole, zatímco mezery obsahující čokolády představují hodnoty uložené v polích.
Níže uvedený diagram znázorňuje výše uvedenou syntaxi.
Numerická pole
Číselná pole používají číslo jako přístupové klíče.
Přístupový klíč je odkaz na paměťový slot v proměnné pole.
Přístupový klíč se používá vždy, když chceme číst nebo přiřadit novou hodnotu prvku pole.
Níže je uvedena syntaxe pro vytvoření číselného pole v php.
Příklad pole
<?php $variable_name[n] = value; ?>
Or
<?php $variable_name = array(n => value, …); ?>
TADY,
- „$název_proměnné…“ je název proměnné
- „[n]“ je číslo přístupového indexu prvku
- „hodnota“ je hodnota přiřazená prvku pole.
Podívejme se nyní na příklad numerického pole.
Předpokládejme, že máme 5 filmů, které chceme uložit do proměnných pole.
K tomu můžeme použít příklad uvedený níže.
<?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'; ?>
Zde,
Každému filmu je přiděleno indexové číslo, které se používá k načtení nebo změně jeho hodnoty. Dodržujte následující kód -
<?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]; ?>
Výstup:
Once upon a time in China Eastern Condors
Jak můžete vidět z výše uvedených příkladů, práce s poli v PHP při práci s více hodnotami stejné povahy je velmi snadná a flexibilní.
Alternativně lze výše uvedené proměnné pole vytvořit také pomocí následujícího kódu.
<?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]; ?>
Výstup:
Replacement Killers
Asociativní pole PHP
Asociativní pole se liší od číselného pole v tom smyslu, že asociativní pole používají popisné názvy pro klíče ID.
Níže je syntaxe pro vytvoření asociativního pole v php.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
TADY,
- „$název_proměnné…“ je název proměnné
- „['key_name']“ je číslo přístupového indexu prvku
- „hodnota“ je hodnota přiřazená prvku pole.
Předpokládejme, že máme skupinu osob a chceme ke jménům každé osoby přiřadit pohlaví.
K tomu můžeme použít asociativní pole. K tomu nám pomáhá kód níže.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
TADY,
Výstup:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Asociativní pole jsou také velmi užitečná při získávání dat z databáze.
Názvy polí se používají jako klíče ID.
PHP vícerozměrná pole
Jedná se o pole, která obsahují další vnořená pole.
Výhodou vícerozměrných polí je, že nám umožňují seskupovat související data dohromady.
Podívejme se nyní na praktický příklad, který implementuje php vícerozměrné pole.
Níže uvedená tabulka zobrazuje seznam filmů podle kategorií.
Název filmu | Kategorie |
---|---|
Růžový panter | Komedie |
John English | Komedie |
Die Hard | Akce |
Expendables | Akce |
Pán prstenů | Úžasné |
Romeo a Julie | Romantika |
Nevidět zlo, neslyšet zlo | Komedie |
Výše uvedené informace mohou být reprezentovány jako vícerozměrné pole. Níže uvedený kód ukazuje implementaci.
<?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); ?>
TADY,
Výstup:
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 ) )
Další způsob, jak definovat stejné pole, je následující
<?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]; ?>
Výstup:
Pink Panther
Poznámka: číselné pole filmů bylo vnořeno do asociativního pole kategorií
Pole PHP: Operatorů
OperaTor | Jméno | Description | Jak to udělat | Výstup |
---|---|---|---|---|
x+y | svaz | Kombinuje prvky z obou polí |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Pole([id] => 1 [hodnota] => 10) |
X == y | Rovnat se | Porovná dvě pole, pokud jsou stejná, a vrátí hodnotu true, pokud ano. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Pravda nebo 1 |
X === y | Identický | Porovnává obě hodnoty a typy dat |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Nepravda nebo 0 |
X != y, x <> y | Není to stejné |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Nepravda nebo 0 | |
X !== y | Ne identické |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Pravda nebo 1 |
Funkce PHP Array
Funkce počítání
Funkce count se používá k počítání počtu prvků, které pole php obsahuje. Níže uvedený kód ukazuje implementaci.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Výstup:
3
funkce is_array
Funkce is_array se používá k určení, zda proměnná je pole nebo ne. Podívejme se nyní na příklad, který implementuje funkce is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Výstup:
1
Typ
Tato funkce se používá k řazení polí podle hodnot.
Pokud jsou hodnoty alfanumerické, seřadí je v abecedním pořadí.
Pokud jsou hodnoty číselné, seřadí je vzestupně.
Odebere stávající přístupové klávesy a přidá nové číselné klávesy.
Výstupem této funkce je číselné pole
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Výstup:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Tato funkce se používá k řazení pole pomocí klávesy . Jeho použití ilustruje následující příklad.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Výstup:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
sortiment
Tento funkce se používá k řazení pole pomocí hodnot. Jeho použití ilustruje následující příklad.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Výstup:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Proč používat pole?
- Obsah polí lze roztáhnout,
- Pole snadno pomáhají seskupit související informace, jako jsou přihlašovací údaje k serveru
- Pole pomáhají psát čistší kód.
Shrnutí
- Pole jsou speciální proměnné s kapacitou pro uložení více hodnot.
- Pole jsou flexibilní a lze je snadno roztáhnout tak, aby vyhovovaly více hodnotám
- Číselná pole používají čísla pro klíče pole
- PHP Asociativní pole používá pro klíče pole popisné názvy
- Vícerozměrná pole v sobě obsahují další pole.
- Funkce počet se používá k získání počtu položek, které byly uloženy v poli
- Funkce is_array se používá k určení, zda je proměnná platným polem nebo ne.
- Mezi další funkce pole patří sort, ksort, assort atd.