PHP: Přidávání a odebírání prvků pole. Přidání prvků do pole Vytvořte pole a přidejte data php
PHP Podporuje skalární a složené datové typy. V tomto článku se budeme zabývat jedním ze složených typů: poli. Pole je kolekce datových hodnot organizovaná jako uspořádaná sada párů klíč–hodnota.
Tento článek pojednává o vytváření pole, přidávání prvků do pole. Existuje mnoho vestavěných funkcí, které pracují s poli PHP protože pole jsou běžná a užitečná k použití. Pokud například chcete odeslat e-mail na více než jednu e-mailovou adresu, můžete e-mailové adresy uložit do pole a poté polem procházet a odesílat zprávy na e-mailovou adresu převzatou z pole.
Indexovaná a asociativní pole
V PHP existují dva typy polí: indexové a asociativní. Klíče indexovaného pole jsou celá čísla začínající od 0. Indexovaná pole se používají, když požadujete určitou pozici v poli. Asociativní pole se chovají jako dva sloupce tabulky. První sloupec je klíč, který se používá pro přístup k hodnotě (druhý sloupec).
PHP interně ukládá všechna pole jako asociativní pole, takže jediný rozdíl mezi asociativními a indexovanými poli je v tom, že se objevují klíče. Některé funkce jsou poskytovány primárně pro použití s indexovanými poli, protože předpokládají, že vaše klíče jsou sekvenční celá čísla začínající na 0. V obou případech jsou klíče jedinečné – to znamená, že nemůžete mít dva prvky se stejným klíčem, bez ohledu na to, zda klíč je řetězec nebo celé číslo.
V PHP pole mají vnitřní pořadí svých prvků, které je nezávislé na klíčích a hodnotách, a existují funkce, které lze použít k procházení polí na základě tohoto vnitřního pořadí.
Definování prvků v poli
Ke konkrétním hodnotám z pole můžete přistupovat pomocí názvu pole následovaného klíčem prvku (někdy nazývaným index) v hranatých závorkách:
$věk["Fred"]; $ukazuje;
Klíčem může být řetězec nebo celé číslo. Řetězcové hodnoty jako čísla (bez úvodních nul) jsou považovány za celá čísla. Tím pádem, $array A $array['3'] odkazují na stejný prvek, ale $array[’03'] odkazuje na jiný prvek. Jako klíče lze také použít záporná čísla, ale neurčují pozice od konce pole, jako v Perl.
Klíč není nutné psát v uvozovkách. Například, $array['Fred'] jako $arrat. Nicméně je to považováno za dobrý styl PHP vždy používejte uvozovky. Pokud je index bez uvozovek, pak PHP použije jako index hodnotu konstanty:
Define("index",5); echo $array; // vrátí $array, nikoli $array["index"];
Pokud chcete do indexu nahradit číslo, musíte to udělat:
$věk["Klon$číslo"]; // vrátí, například $age["Clone5"];
Neuvádějte však klíč v následujícím případě:
// nesprávný tisk "Dobrý den, $person["jméno"]"; tisknout "Dobrý den, $person["jméno"]"; // správný tisk "Ahoj, $osoba";
Ukládání dat do polí
Když se pokusíte uložit hodnotu do pole, pole se automaticky vytvoří, pokud dříve neexistovalo, ale když se pokusíte načíst hodnotu z pole, které nebylo definováno, pole se nevytvoří. Například:
// $addresses není dosud definováno echo $addresses; // nic se neozývá $adresy; // nic $addresses = " [e-mail chráněný]"; echo $addresses; // tisk "Array"
K inicializaci pole v programu můžete použít jednoduché přiřazení:
$addresses = " [e-mail chráněný]"; $addresses = " [e-mail chráněný]"; $addresses = " [e-mail chráněný]"; // ...
Deklarovali jsme pole indexů s celočíselnými indexy začínajícími na 0.
Asociativní pole:
$cena["Těsnění"] = 15,29; $cena["Kolo"] = 75,25; $cena["Pneumatika"] = 50,00; //...
Jednodušší způsob, jak inicializovat pole, je použít konstrukt pole(), který sestaví pole ze svých argumentů:
$addresses = array(" [e-mail chráněný]", "[e-mail chráněný]", "[e-mail chráněný]");
Chcete-li vytvořit asociativní pole pomocí Array(), použití => symbol oddělující indexy od hodnot:
$price = array("Těsnění" => 15,29, "Kolo" => 75,25, "Pneumatika" => 50,00);
Věnujte pozornost využití mezer a zarovnání. Mohli bychom seskupit kód, ale bylo by to méně jasné:
$price = array("Gasket"=>15,29,"Kolo"=>75,25,"Pneumatika"=>50,00);
Chcete-li vytvořit prázdné pole, musíte zavolat konstrukt pole() bez argumentů:
$adresy = Array();
Můžete zadat počáteční klíč v poli a poté seznam hodnot. Hodnoty se zadávají do pole, počínaje klíčem a poté se zvyšují:
$days = array(1 => "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota", "neděle"); // 2 je úterý, 3 je středa atd.
Pokud je počátečním indexem řetězec, pak se následující indexy stanou celými čísly počínaje 0. Následující kód je tedy pravděpodobně chyba:
$whoops = array("Pátek" => "Černá", "Hnědá", "Zelená"); // stejné jako $whoops = array("Pátek" => "Černá", 0 => "Hnědá", 1 => "Zelená");
Přidání nového prvku na konec pole
Chcete-li vložit více hodnot na konec existujícího indexovaného pole, použijte syntaxi:
$family = array("Fred", "Wilma"); // $family = "Fred" $family = "Kamínky"; // $family = "Oblázky"
Tato konstrukce předpokládá, že indexy pole jsou čísla a přiřadí prvku další dostupný číselný index počínaje 0. Pokus o přidání prvku do asociativního pole je téměř vždy chybou programátora, ale PHP přidá nové prvky s číselnými indexy (počínaje 0) bez varování:
$person = array("jméno" => "Fred"); // $person["jméno"] = "Fred"; $osoba = "Wilma"; // $person = "Wilma"
V této fázi dokončíme úvodní část práce s poli v PHP. Těším se na vás u dalšího článku.
Přidání prvků do pole
Pokud pole existuje, můžete do něj přidat další prvky. To se provádí přímo pomocí operátoru přiřazení (rovná se) stejným způsobem jako přiřazování hodnoty řetězci nebo číslu. V tomto případě nemusíte zadávat klíč přidaného prvku, ale v každém případě jsou při přístupu k poli vyžadovány hranaté závorky. Přidáním dvou nových prvků do $List napíšeme:
$Seznam = "hrušky";
$List = "rajčata";
Pokud klíč není zadán, bude každý prvek přidán do existujícího pole a indexován podle dalšího pořadového čísla. Pokud do pole z předchozí části přidáme nové prvky, jejichž prvky měly indexy 1, 2 a 3, pak hrušky budou mít index 4 a rajčata budou mít index 5. Když explicitně zadáte index a hodnota s ním je již existuje, stávající hodnota v daném umístění bude ztracena a nahrazena novou:
$Seznam = "hrušky";
$List = "rajčata";
Nyní je hodnota prvku s indexem 4 „rajčata“ a prvek „pomeranče“ tam již není. Doporučil bych nezadávat klíč při přidávání prvků do pole, pokud konkrétně nechcete přepsat jakákoli existující data. Pokud jsou však jako indexy použity řetězce, musí být klíče specifikovány, aby nedošlo ke ztrátě hodnot.
Pokusíme se přidat nové prvky do pole přepsáním skriptu soups.php. Tím, že nejprve vytiskneme původní prvky pole a poté ty původní spolu s přidanými, můžeme snadno vidět změny, ke kterým došlo. Stejně jako můžete zjistit délku řetězce (počet znaků, které obsahuje) pomocí funkce strlen(), je také snadné určit počet prvků v poli pomocí funkce count():
$HowMany = count($Array);
- Otevřete soubor soups.php v textovém editoru.
- Po inicializaci pole pomocí funkce array() přidejte následující položku: $HowMany = count($Polévky);
- Přidejte do pole tři další prvky. $Soups["Thursday"] = "Kuřecí nudle";
- Spočítejte prvky v poli a vytiskněte tuto hodnotu. $HowManyNow = count($Polévky);
- Uložte skript (výpis 7.2), nahrajte jej na server a otestujte v prohlížeči (obr.).
print("Pole obsahuje $HowMany prvků.
\n");
Funkce count() určí, kolik prvků je v poli $Soups. Přiřazením této hodnoty proměnné ji lze vytisknout.
$Soups["Friday"] = "Tomato";
$Soups["Saturday"] = "Brokkolicový krém";
print("Pole nyní obsahuje prvky $HowManyNow.
\n");
Výpis 7.2 Můžete přímo přidat jeden prvek po druhém do pole přiřazením hodnoty každému prvku pomocí příslušného operátoru. Pomocí funkce count() lze zjistit, kolik prvků je v poli.
1
2
3
4
5 6 $Polévky = pole(
7 "Pondělí"=>"Polévka z škeblí",
8 "Úterý"=>"Bílé kuřecí chilli",
9 "Středa"=>"Vegetariánská");
11 print("Pole obsahuje $HowMany
Prvky.
\n");
12 $Soups["Thursday"] = "Kuřecí nudle";
13 $Soups["Friday"] = "Tomato";
14 $Soups["Saturday"] = "Smetana z
Brokolice";
15 $HowManyNow = count($Polévky);
16 print("Pole nyní obsahuje
$HowManyNow elemente.
\n");
17 ?>
18
19
PHP 4.0 představilo novou funkci, která umožňuje přidávat jedno pole do druhého. Tuto operaci lze také nazvat sloučením nebo zřetězením polí. Funkce array_merge() se volá následovně:
$NewArray = array_merge($OneArray, $TwoArray);
Pokud pracujete na serveru s nainstalovaným PHP 4.0, můžete pomocí této funkce přepsat stránku soups.php.
Sloučení dvou polí
- Otevřete soubor soups.php v textovém editoru, pokud ještě není otevřený.
- Po inicializaci pole $Soups spočítejte jeho prvky a vytiskněte výsledek. $HowMany = count($Polévky);
- Spojte dvě pole do jednoho. $TheSoups = array_merge($Soups, $Soups2);
- Spočítejte prvky nového pole a vytiskněte výsledek. $HowMany3 = count($TheSoups);
- Zavřete PHP a HTML dokument. ?>
- Uložte soubor (výpis 7.3), nahrajte jej na server a otestujte v prohlížeči (obr.).
print("Pole $Soups obsahuje prvky $HowMany.
\n");
- Vytvořte druhé pole, spočítejte jeho prvky a také vytiskněte výsledek.
"Čtvrtek"=>"Kuřecí nudle",
"Pátek"=>"Tomato",
"Sobota"=>"Brokkolicový krém");
$HowMany2 = count($Polévky2);
print("Pole $Soups2 obsahuje prvky $HowMany2.
\n");
Ujistěte se, že jsou pole uspořádána v tomto pořadí ($Soups, potom $Soups2), to znamená, že prvky čtvrtek a pátek by měly být přidány k prvkům pondělí nebo středa a ne naopak.
print("Pole $TheSoups obsahuje
-$HowMany3 prvků.
\n");
Výpis 7.3 Funkce Array_merge() je nová. Toto je jedna z několika dalších funkcí v PHP 4.0 navržených pro práci s poli. Použitím polí můžete ušetřit spoustu času.
1
2
3
4
5 6 $ Polévky = pole!
7 "Pondělí"=>"Polévka z škeblí",
"Úterý"=>"Bílé kuřecí chilli",
8 "Středa"=>"Vegetariánská"
9);
10 $HowMany = count($Polévky);
11 print("Pole $Soups obsahuje prvky $HowMany.
\n");
12 $Soups2 = pole(
13 "Čtvrtek"=>"Kuřecí nudle",
14 "Pátek"=>"Tomato",
15 "Sobota"=>"Brokkolicový krém"
16); .
17 $HowMany2 = počet($Polévky2);
18 print („Pole $Soups2 obsahuje prvky $HowMany2.
\n");
19 $TbeSoupe = array_merge($Polévky, $Polévky2);
20 $HowMany3 = počet ($TheSoups) ;
21 tisk („Pole $TheSoups obsahuje prvky .$HowMany3.
\n");
22 ?> "
23
24
Při přímém přidávání prvků do pole buďte opatrní. To se provede správně takto: $Ar ray = "Add This"; iyai$Aggau = "Přidat toto";, ale je to správně takto: $Aggau = "Přidat toto";. Pokud zapomenete vložit závorky, přidaná hodnota zničí stávající pole a změní ho na jednoduchý řetězec nebo číslo.
PHP 4.0 má několik nových funkcí pro práci s poli. Ne o všech se v knize mluví. Úplné informace o tomto tématu jsou však obsaženy v manuálu jazyka PHP, který lze nalézt na webových stránkách PHP. Dávejte pozor, abyste nepoužívali nové funkce jedinečné pro PHP 4.0, pokud váš server běží na PHP 3.x.
V PHP existuje mnoho funkcí a operátorů pro převod polí: Soubor funkcí pro práci s poli
Existuje několik způsobů, jak přidat pole do pole pomocí PHP a všechny mohou být v určitých případech užitečné.
"Operátor +"
Toto je jednoduchý, ale záludný způsob:
$c = $a + $b
Tímto způsobem jsou přidány pouze ty klíče, které ještě nejsou v poli $a. V tomto případě jsou prvky připojeny na konec pole.
To znamená, že pokud klíč z pole $b není přítomen v poli $a, pak bude prvek s tímto klíčem přidán do výsledného pole.
Pokud pole $a již obsahuje prvek s takovým klíčem, pak jeho hodnota zůstane nezměněna.
Jinými slovy, změna místa výrazů změní součet: $a + $b != $b + $a - to stojí za zapamatování.
Nyní je zde podrobnější příklad, který to ilustruje:
$arr1 = ["a" => 1, "b" => 2]; $arr2 = ["b" => 3, "c" => 4]; var_export($arr1 + $arr2); //pole (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export($arr2 + $arr1); //pole (// "b" => 3, // "c" => 4, // "a" => 1, //)
funkce array_merge().
Tuto funkci můžete použít následovně:
$result = array_merge($arr1, $arr2)
Vynuluje číselné indexy a nahradí řetězcové. Skvělé pro zřetězení dvou nebo více polí s číselnými indexy:
Pokud mají vstupní pole stejné řetězcové klíče, pak každá následující hodnota nahradí tu předchozí. Pokud však pole mají stejné číselné klíče, hodnota uvedená jako poslední nenahradí původní hodnotu, ale bude přidána na konec pole.
funkce array_merge_recursive
Dělá to samé jako array_merge, kromě toho, že rekurzivně prochází každou větví pole a dělá to samé s dětmi.
funkce array_replace().
Nahradí prvky pole prvky jiných předávaných polí.
funkce array_replace_recursive().
Stejné jako array_replace, ale zpracovává všechny větve pole.
Podívejme se na způsoby zápisu hodnot do pole. Existující pole lze upravit explicitním nastavením hodnot v něm. To se provádí přiřazením hodnot k poli.
Operace přiřazení hodnoty prvku pole je stejná jako operace přiřazení hodnoty proměnné, s výjimkou hranatých závorek (), které jsou přidány za název proměnné pole. Index/klíč prvku je uveden v hranatých závorkách. Pokud není zadán žádný index/klíč, PHP automaticky vybere nejmenší neobsazený číselný index.
"nula", 1 => "jedna"); $my_arr = "dva"; $my_arr = "tři"; var_dump($my_arr); // přiřazení bez uvedení indexu/klíče $my_arr = "čtyři"; $my_arr = "pět"; echo"
"; var_dump($my_arr); ?>
Chcete-li změnit konkrétní hodnotu, jednoduše přiřadíte novou hodnotu existujícímu prvku. Chcete-li odstranit jakýkoli prvek pole s jeho indexem/klíčem nebo úplně odstranit samotné pole, použijte funkci unset():
Poznámka: Jak bylo uvedeno výše, pokud je prvek přidán do pole bez určení klíče, PHP automaticky použije předchozí největší celočíselnou hodnotu klíče zvýšenou o 1. Pokud v poli ještě nejsou žádné celočíselné indexy, pak bude klíč 0 (nula).
Všimněte si, že největší celočíselná hodnota klíče nemusí v daném okamžiku nutně existovat v poli, může to být způsobeno odstraněním prvků pole. Po odstranění prvků není pole přeindexováno. Vezměme si následující příklad, aby to bylo jasnější:
"; print_r($my_arr); // Přidejte prvek (všimněte si, že nový klíč bude 3 místo 0). $my_arr = 6; echo "
"; print_r($my_arr); // Proveďte reindexaci: $my_arr = array_values($my_arr); $my_arr = 7; echo "
"; print_r($my_arr); ?>
V tomto příkladu byly použity dvě nové funkce, print_r() a array_values(). Funkce array_values() vrací indexované pole (přeindexuje vrácené pole pomocí číselných indexů) a funkce print_r funguje jako var_dump, ale zobrazuje pole ve srozumitelnější podobě.
Nyní se můžeme podívat na třetí způsob, jak vytvořit pole:
Příklad ukázal třetí způsob, jak vytvořit pole. Pokud pole $weekdays ještě nebylo vytvořeno, bude vytvořeno. Tento typ vytváření pole se však nedoporučuje, protože pokud již byla vytvořena proměnná $weekdays a obsahuje hodnotu, může to způsobit neočekávané výsledky skriptu.
Pokud si nejste jisti, zda je proměnná polem, použijte funkci is_array. Kontrolu lze provést například takto:
"; $no = "běžný řetězec"; echo is_array($no) ? "Pole" : "Není pole"; ?>
pole_pad
Přidá několik prvků do pole.
Syntax:
Array array_pad (vstup pole, int pad_size, smíšená hodnota pad_value)
Funkce array_pad() vrací kopii vstupního pole, do kterého byly přidány prvky s pad_values, takže počet prvků ve výsledném poli je pad_size.
Pokud pad_size>0, pak budou prvky přidány na konec pole a if<0 - то в начало.
Pokud je hodnota pad_size menší než prvky v původním vstupním poli, nedojde k žádnému sčítání a funkce vrátí původní vstupní pole.
Příklad použití funkce array_pad():
$arr = pole(12, 10, 4);
$vysledek = array_pad($arr, 5, 0);
// $vysledek = pole(12, 10, 4, 0, 0);
$vysledek = array_pad($arr, -7, -1);
// $vysledek = pole(-1, -1, -1, -1, 12, 10, 4)
$result = array_pad($arr, 2, "noop");
// nepřidá
pole_map
Použijte vlastní funkci na všechny prvky zadaných polí.
Syntax:
Array array_map(smíšené zpětné volání, pole arr1 [, pole ...])
Funkce array_map() vrací pole, které obsahuje prvky všech zadaných polí po zpracování funkcí zpětného volání uživatele.
Počet parametrů předávaných do uživatelsky definované funkce se musí shodovat s počtem polí předávaných do array_map().
Příklad použití funkce array_map(): Zpracování jednoho pole
návrat $n*$n*$n;
}
$a = pole(1, 2, 3, 4, 5);
$b = array_map("kostka", $a);
print_r($b);
?>
Pole(
=> 1
=> 8
=> 27
=> 64
=> 125
)
Příklad použití funkce array_map(): Zpracování více polí
return "Číslo $n ve španělštině je $m";
}
function map_Spanish($n, $m) (
návratové pole ($n => $m);
}
$a = pole(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
Uvedený příklad vypíše následující:
// tisk $cArray(
=> Číslo 1 ve španělštině - uno
=> Číslo 2 ve španělštině - dos
=> Číslo 3 ve španělštině - tres
=> Číslo 4 ve španělštině - cuatro
=> Číslo 5 ve španělštině - cinco
)
// tisk $dArray(
=> Pole
=> ne
)
=> Pole
=> dos
)
=> Pole
=> tres
)
=> Pole
=> cuatro
)
=> Pole
=> cinco
)
Funkce array_map() se obvykle používá na polích, která mají stejnou velikost. Pokud mají pole různé délky, pak jsou ta menší doplněna prvky s prázdnými hodnotami.
Je třeba poznamenat, že pokud zadáte null místo názvu funkce zpracování, vytvoří se pole polí.
Příklad použití funkce array_map(): Vytvoření pole polí
$b = array("jeden", "dva", "tři", "čtyři", "pět");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
Uvedený příklad vypíše následující:
Pole(
=> Pole
=> 1
=> jeden
=> ne
)
=> Pole
=> 2
=> dva
=> dos
)
=> Pole
=> 3
=> tři
=> tres
)
=> Pole
=> 4
=> čtyři
=> cuatro
)
=> Pole
=> 5
=> pět
=> cinco
)
Funkce podporovaná PHP 4 >= 4.0.6, PHP 5
pole_pop
Načte a odstraní poslední prvky pole.
Syntax:
Mixed array_pop(array arr);
Funkce array_pop() vyjme poslední prvek z pole arr a vrátí jej a poté jej odstraní. Pomocí této funkce můžeme budovat struktury podobné zásobníkům. Pokud bylo pole arr prázdné nebo se nejedná o pole, funkce vrátí prázdný řetězec NULL.
Po použití funkce array_pop() se kurzor pole nastaví na začátek.
Příklad použití funkce array_pop():
$ovoce = array_pop($stack);
print_r($stack);
print_r($ovoce);
?>
Příklad vypíše následující:
Pole(
=> oranžová
=> banán
=> jablko
)
Funkce podporovaná PHP 4, PHP 5
array_push
Přidá jeden nebo více prvků na konec pole.
Syntax:
Int array_push(array arr, mixed var1 [, mixed var2, ..])
Funkce array_push() přidá prvky var1, var2 atd. do pole arr. Přiřazuje jim číselné indexy - přesně jako u standardních .
Pokud potřebujete přidat pouze jeden prvek, může být jednodušší použít tento operátor:
Array_push($Arr,1000); // volání funkce $Arr=100; // to samé, ale kratší
Příklad použití funkce array_push():
array_push($stack, "jablko", "malina");
print_r($stack);
?>
Příklad vypíše následující:
Pole(
=> oranžová
=> banán
=> jablko
=> malina
)
Pamatujte, že funkce array_push() zachází s polem jako se zásobníkem a vždy přidává prvky na konec.
Funkce podporovaná PHP 4, PHP 5
array_shift
Načte a odstraní první prvek pole.
Syntax:
Mixed array_shift(array arr)
Funkce array_shift() vezme první prvek pole arr a vrátí jej. Je velmi podobný array_pop(),
ale přijímá pouze počáteční, nikoli konečný prvek, a také vytváří poměrně silný „otřes“ celého pole: koneckonců při extrahování prvního prvku musíte upravit všechny číselné indexy všech zbývajících prvků, protože všechny následující prvky pole se posunou o jednu pozici dopředu. Klíče pole řetězců se nemění.
Pokud je arr prázdné nebo není pole, funkce vrátí hodnotu NULL.
Po použití této funkce se ukazatel pole přesune na začátek.
Příklad použití funkce array_shift():
$ovoce = array_shift($stack);
print_r($stack);
?>
Tento příklad vypíše následující:
Pole(
=> banán
=> jablko
=> malina
)
a proměnná $ovoce bude mít hodnotu "oranžová"
Funkce podporovaná PHP 4, PHP 5
array_unshift
Přidá jednu nebo více hodnot na začátek pole.
Syntax:
Int array_unshift(list arr, mixed var1 [,mixed var2, ...])
Funkce array_unshift() přidá předané hodnoty var na začátek pole arr. Pořadí nových prvků v poli je zachováno. Všechny digitální indexy pole se změní tak, aby začínalo od nuly. Všechny řetězcové indexy pole jsou nezměněny.
Funkce vrátí nový počet prvků v poli.
Příklad použití funkce array_unshift():
array_unshift($fronta, "jablko", "malina");
?>
Nyní bude mít proměnná $queue následující prvky:
Pole(
=> jablko
=> malina
=> oranžová
=> banán
)
Funkce podporovaná PHP 4, PHP 5
pole_unikátní
Odstraní duplicitní hodnoty v poli.
Syntax:
Array pole_unique(pole pole)
Funkce array_unique() vrací pole složené ze všech jedinečných hodnot v poli arr spolu s jejich klíči odstraněním všech duplicitních hodnot. První nalezené dvojice klíč=>hodnota se umístí do výsledného pole. Indexy jsou zachovány.
Příklad použití funkce array_unique():
"zelená", "červená", "b" =>
"zelená", "modrá", "červená");
print_r($vysledek);
?>
Příklad vypíše následující:
Pole(
[a] => zelená
=> červená
=> modrá
)
Příklad použití funkce array_unique(): Porovnání datových typů
$vysledek = pole_unique($vstup);
var_dump($vysledek);
?>
Příklad vypíše následující:
Pole(2) (
=> int(4)
=> řetězec(1) "3"
}
Funkce podporovaná PHP 4 >= 4.0.1, PHP 5
pole_chunk
Funkce rozdělí pole na části.
Syntax:
Array array_chunk(array arr, int size [, bool zachování_klíčů])
Funkce array_chunk() rozdělí původní pole arr do několika polí, jejichž délka je určena velikostí čísla. Pokud rozměr původního pole není dělitelný přesně velikostí částí, bude mít výsledné pole menší rozměr.
Funkce array_chunk() vrací vícerozměrné pole, jehož indexy začínají od 0 do počtu výsledných polí a hodnoty jsou pole získaná jako výsledek rozdělení.
Nepovinný parametr zachování_klíčů určuje, zda mají být klíče původního pole zachovány či nikoli. Pokud je tento parametr false (výchozí hodnota), pak budou indexy výsledných polí specifikovány čísly začínajícími od nuly. Pokud je parametr pravdivý, pak jsou klíče původního pole zachovány.
Příklad použití funkce array_chunk():
$array = array("1st element",
"2. prvek"
"3. prvek"
"4. prvek"
"pátý prvek");
print_r(pole_chunk($pole, 2));
print_r(pole_chunk($pole, 2, PRAVDA));
Příklad vypíše následující:
Pole(
=> Pole
=> 1. prvek
=> 2. prvek
)
=> Pole
=> 3. prvek
=> 4. prvek
)
=> Pole
=> 5. prvek
)
)
Pole(
=> Pole
=> 1. prvek
=> 2. prvek
)
=> Pole
=> 3. prvek
=> 4. prvek
)
=> Pole
=> 5. prvek
)
Funkce podporovaná PHP 4 >= 4.2.0, PHP 5
pole_výplň
Funkce vyplní pole konkrétními hodnotami.
Syntax:
Array array_fill(int start_index, int num, smíšená hodnota)
Funkce array_fill() vrací pole obsahující hodnoty zadané v parametru value o velikosti num, počínaje prvkem zadaným v parametru start_index.
Příklad použití array_diff_uassoc():
print_r($a);
?>
Příklad vypíše následující:
Pole(
=> banán
=> banán
=> banán
=> banán
=> banán
=> banán
)
Funkce podporovaná PHP 4 >= 4.2.0, PHP 5
pole_filtr
Funkce aplikuje filtr na pole pomocí vlastní funkce.
Syntax:
Array array_filter(vstup pole [, zpětné volání])
Funkce array_filter() vrací pole, které obsahuje hodnoty přítomné ve vstupním poli, filtrované podle výsledků uživatelem definované funkce zpětného volání.
Pokud je vstupní pole asociativní pole, indexy jsou ve výsledném poli zachovány.
Příklad použití funkce array_filter():
return ($var % 2 == 1);
}
funkce sudá($var) (
return ($var % 2 == 0);
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$pole2 = pole(6, 7, 8, 9, 10, 11, 12);
echo "Odd:n";
print_r(pole_filter($pole1, "liché"));
echo "Even:n";
t_r(pole_filter($pole2, "sudé"));
?>
Příklad vypíše následující:
Odd:Array(
[a] => 1
[c] => 3
[e] => 5
Even:Array(
=> 6
=> 8
=> 10
=> 12
)
Stojí za zmínku, že místo názvu funkce filtrování můžete zadat pole, které obsahuje odkaz na objekt a název metody.
Za zmínku také stojí, že při zpracování pole pomocí funkce array_filter() jej nelze změnit: přidat, odebrat prvky nebo resetovat pole, protože to může vést k nesprávnému fungování funkce.
Funkce podporovaná PHP 4 >= 4.0.6, PHP 5