Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]duplikaty w tablicy, wyświetlanie 1 losowo wybranego
meron11
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 1
Dołączył: 17.08.2009

Ostrzeżenie: (0%)
-----


mam tablicę(część):

Cytat
alegratka samochody
alegro motoryzacja
alegro pl samochody osobowe
alegro samochody
alegro samochody czesci
alegro samochody osobowe
alegro samochody osobowe u¿ywane
alegro.pl motoryzacja
alfa okna
allegro moto
allegro motoryzacja
aluplast okna
anonse motoryzacja
anonse samochody
aukcje samochodowe
auta
auta gry
auta osobowe
pomoc domowa
auta z niemiec
auta z usa
autogie³da samochodowa
autogratka
autokomis
automoto
avante okna
bia³e drzwi wewnêtrzne
boazeria ¶wierkowa
broker samochodowy
brugmann okna


i o to chodzi żeby skrypt wyświetlał za każdym razem wyświetlał zawartosc tablicy, jeżeli są duplikaty (załózmy po 1 słowie[to mozna explode rozdzielić])wybrał jeden losowy tj po pierwszy przebiegu dla tego wyżej otrzymuje:


alegratka samochody
alegro samochody
alegro.pl motoryzacja
alfa okna
aluplast okna
anonse motoryzacja
anonse samochody
auta
pomoc domowa
autogie³da samochodowa
autogratka
autokomis
automoto
avante okna
bia³e drzwi wewnêtrzne
boazeria ¶wierkowa
broker samochodowy
brugmann okna



za 2 razem inny zestaw z wybranych duplikatów i tak w kółko, nie wiem jak to ugryźć.Moze ktoś nakierować?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
bastard13
post
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Na pewno da się to zrobić dużo bardziej optymalnie, ale:
  1. $arr = array(/*twoja tablica*/);
  2. shuffle($arr); //miesza tablicę
  3.  
  4. $temp = array();
  5. foreach ($arr as $value)
  6. {
  7. $valuePart = explode(' ', $value);
  8. if (!in_array($valuePart, $temp))
  9. {
  10. echo $value;
  11. $temp[] = $valuePart;
  12. }
  13. }
  14.  
Go to the top of the page
+Quote Post
meron11
post
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 1
Dołączył: 17.08.2009

Ostrzeżenie: (0%)
-----


Twój skrypt tylko przetasował tablicę, duplikatów nie "wybierał" ale dzięki za bazę, pokombinuję sam, ale jak masz jakąś propozycje t to chcętnie wysłucham (IMG:style_emoticons/default/wink.gif)

Niestety lipa, zrobiłem też tak:
  1. $myfile = 'wyrazy.txt';
  2. $arr = file($myfile);
  3.  
  4.  
  5. shuffle($arr); //miesza tablicę
  6.  
  7. $temp = array();
  8. foreach ($arr as $value)
  9. {
  10. $linia=substr($value,'0',$_GET['ile']);
  11. //$valuePart = explode(' ', $value);
  12. if(preg_match("/^$linia/i",$value))
  13. {
  14. echo $value;
  15. echo "<br />";
  16. $temp[] = $valuePart;
  17. }
  18.  
  19.  
  20. }


I też to samo ;/ Oczywiście getem liczbę znaków podaję (IMG:style_emoticons/default/wink.gif)

POnawiam pytanie bo kompletnie mi to nie wychodzi..

Ten post edytował meron11 3.08.2011, 21:41:01
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 01:58