Unikatni hodnota – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Unikatni hodnota – PHP – Fórum – Programujte.comUnikatni hodnota – PHP – Fórum – Programujte.com

 

Earl Cash0
Věrný člen
28. 2. 2008   #1
-
0
-

nevi nekdo nejakou fci nebo alespon postup jak co nejefektivneji a nejrychleji overit jedinecnost hodnoty v poli??

mam X uzivatelskych jmen nactenych v poli a potrebuji zjistit jestli jsou hodnoty jedinecne..nasel jsem sice funkci "array_unique()" ale ta nedela to co potrebuji...diky za odpovedi :)

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
byF0
Návštěvník
28. 2. 2008   #2
-
0
-

To Earl Cash : Proč Ti nevyhovuje array_unique? Není snad lepší zbavit se případných duplicitních hodnot, než je kontrolovat?

Nahlásit jako SPAM
IP: 85.207.69.–
Earl Cash0
Věrný člen
28. 2. 2008   #3
-
0
-

To byF : nechci se jich zbavit..chci jen zjistit zda je v poli duplicita..v pripade ze je, tak zastavit provadeni scriptu..mozna ze by to nejak slo navazat i na tuto funkci, ale to uz mi pripada lepsi pouzit v mem pripade fci "array_search()"....

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
insider0
Věrný člen
28. 2. 2008   #4
-
0
-

zdravim,
nevim na kolik je to, co napisu rychle a efektivni, ale zda se mi to rychlejsi, nez to projizdet array_search pro kazdy zaznam

$jmena = array(......);  // pole se jmeny

$duplicita = array(); // prazdne pole
foreach($jmena as $j){
if(isset($duplicita[$j]))
break;
else
$duplicita[$j] = 1;
}

Nahlásit jako SPAM
IP: 147.32.97.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
Orcslayer0
Stálý člen
28. 2. 2008   #5
-
0
-

Mno, chtěl jsem ti napsat kód jednoduššího postupu, ale protože se mi seknul komp, tak na to kašlu. :o) Jednoduše: Pole ulož ještě do jiné proměnné, hodit do fce array_unique, porovnej počet hodnot původního pole s novým polem. (Plus unset nového pole, aby se to zbytečně nedrželo v paměti.) Snad je to pochopitelné... Pokud chceš konkrétní duplicity, tak holt cyklus a funkce in_array. ,) // Viz php manuál.

Nahlásit jako SPAM
IP: 85.70.82.–
Earl Cash0
Věrný člen
29. 2. 2008   #6
-
0
-

diky vsem...zrejme ale zkusim postup, ktery zminil Orcslayer...

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
Orcslayer0
Stálý člen
29. 2. 2008   #7
-
0
-

Dodatek: Práce s novou proměnnou je vlastně blbost (v tom rozčarování z kompu jsem vůbec nepřemýšlel :X). :)

Stačí to takhle:



$array = Array("Ladislav", "Petr", "Ladislav");

if (count($array) != count(array_unique($array)))
echo "Jsou tam duplicity.";

Nahlásit jako SPAM
IP: 85.70.82.–
netman920
Super člen
2. 3. 2008   #8
-
0
-

co tak funkcia in_array ???

Nahlásit jako SPAM
IP: 195.91.54.–
insider0
Věrný člen
2. 3. 2008   #9
-
0
-

To netman92 : a jeke by byly parametry funkce pri nezname hodnote? :) in_array se pouziva, pokud chces zjistit, jestli ZNAMA hodnota je v poli, navic pomoci ni zjistis jen, zda tam ta hodnota je, ale nezjistis kolikrat tam je

Nahlásit jako SPAM
IP: 78.102.32.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 49 hostů

Podobná vlákna

Povinný unikátní klíč — založil Forest

Unikátní číslo v poli — založil MaxDJs

Unikátní název článku — založil Hacky

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý