Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Błąd w kodzie
HTFhere
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 4.11.2013

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


Witam. Chcę napisać kod, który będzie wczytywał string zawierający imiona oddzielone przecinkiem z pliku, a następnie jeśli jakieś imie będzie się powtarzało, to aby dopisywał na końcu kolejnych powtórzonych imion cyfrę w nawiasach( np jeśli bedzie 4 Szymonów, to pierwszy niech zostanie jak jest, drugi niech będzie Szymon(1), trzeci Szymon(2) itd.). Wystukałem taki kod
  1. $plik = 'imiona.txt';
  2. $uchwyt = fopen($plik, 'r');
  3. $zawartosc = fread($uchwyt, (filesize($plik)-1));
  4. fclose($uchwyt);
  5. $imiona = explode(",", $zawartosc);
  6. $a=count($imiona);
  7. for($b=0;$b<($a-1);$b++){
  8. $d = 1;
  9. for($c=0;$c<($a-1);$c++) {
  10. if($c == $b){
  11. //niech nic się nie dzieje;
  12. } elseif ($imiona[$c] === $imiona[$b]) {
  13. $imiona[$c] .= "($d)";
  14. $d++;
  15. }
  16.  
  17.  
  18. }
  19. }
  20.  

Który niestety nie działa tak jak bym chciał,dla tylko 1 powtarzającego się imienia działa prawidłowo, gdy jest więcej już nie, nie mogę znaleźć błędu w moim rozumowaniu- pomoże ktoś? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Dlaczego nie kontynuujesz tego wątku?
Jak policzyć w tablicy powtarzające się elementy? Przykład:
  1. foreach($tab as $linia) {
  2. $ile[$linia]++;
  3. }
  4.  
  5. while(list($indeks, $wartosc) = each ($ile)) {
  6. echo "$indeks - $wartosc<br />";
  7. }


Ten post edytował Kshyhoo 24.12.2013, 12:22:43
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 21:23