array_unique - Český PHP manuál

PHP Manuál Pole array_unique - Český PHP manuál

Odstraní duplicitní hodnoty v poli. Ve výsledném poli se tedy každá hodnota vyskytuje nejvýše jednou. Klíče zůstanou zachovány. Prvky jsou vnitřně porovnávány jako stringy a pomocí operátoru ===.

Parametry

Vstupní pole. Jako druhý nepovinný parametr můžeme uvést následující flagy:

  • SORT_REGULAR - Porovná prvky bez změny jejich typu.
  • SORT_NUMERIC - Porovná prvky numericky.
  • SORT_STRING - Porovná prvky jako textové řetězce.
  • SORT_LOCALE_STRING - Porovná prvky jako textové řetězce na základě místního nastavení.

Návratová hodnota

Pole s unikátními hodnotami.

Příklad

<?php
$pole = array(1, 2, 2, 2, 3, 1, 5, 2, 6, 9, 5);
$unikatni = array_unique($pole);

print_r($unikatni);

Výstup:

Array
(
    [0] => 1
    [1] => 2
    [4] => 3
    [6] => 5
    [8] => 6
    [9] => 9
)

 

  Aktivity (1)

Manuál pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Miniatura
Všechny články v sekci
Pole - Český PHP manuál

 

 

Komentáře

Avatar
Pepa
Neregistrovaný
Avatar
Pepa:

Je nějaká funkce která odebere prvek třeba na 9 místě v poli; mám pole o 15 prvků které jsou seřazeny podle nějakých klíčů. chci odebrat prvek s klíčem 10. Jak?

 
Odpovědět 25.9.2013 12:34
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Pepa
David Čápka:

Můžeš použít unset(), ale indexy ti zůstanou nezměněné.

Odpovědět 28.9.2013 11:20
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Však určitě potřebuje ponechat indexy. Vždyť pracuje s polem, u kterého se nic neposouvá. Kdyby posunout chtěl, použil by seznam.

Odpovědět 28.9.2013 11:24
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Tak potom takhle:

unset($pole[10]);
$pole = array_values($pole);
Odpovědět 28.9.2013 11:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Seznam a pole je přeci v PHP to samé a obojí je vlastně slovník :D

Odpovědět 28.9.2013 11:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Pokud s polem chci pracovat jako se seznamem, musím o něm mluvit jako o seznamu, i když je to stejný datový typ. Je nutné tomu podřídit i název proměnné, který nemá vliv na aplikaci, ale na programátora. Z hlediska jazyka tedy jsou tyto zápisy stejné:

$pole = array();
$seznam = array();

ale z hlediska sémantiky je první proměnnou pole a druhou je seznam. Pokud pak dělám přiřazení, tak se to bude také lišit:

$pole[$i] = $hodnota;
$seznam[] = $hodnota;

To první je přidání prvku do pole, to druhé je přidání prvku na konec seznamu. Při výpisu na výstup opět bude rozdíl

for ($i = 0; $i < sizeof($pole); $i++) {
    echo $pole[$i];
}

vs.

foreach ($seznam as $radek) {
    echo $radek;
}

Práce s polem a seznamem se prostě liší, i když se jedná o totožný datový typ.

Odpovědět 28.9.2013 11:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.