Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja wyświetlająca tylko jeden powtarzający się element
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Próbuje napisać funkcję która będzie zwracała true przy pierwszym z powtarzających się elementów.

Mam taki kod ale nie działa
  1. function test(&$name){
  2. $name1 = null;
  3. if($name1 != $name){
  4. return true;
  5. } else {
  6. return false;
  7. }
  8.  
  9. $name1 = $name;
  10.  
  11. }
  12.  
  13. if(test(1)) // true
  14. if(test(1)) // false
  15. if(test(2)) // true
  16. if(test(2)) // false
  17. if(test(2)) // false
  18. if(test(4)) // true
  19. if(test(4)) // false
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Magic WWW
post
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 32
Dołączył: 9.09.2010
Skąd: Brzeg

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


  1. $isset = array();
  2. function test($name)
  3. {
  4. global $isset;
  5. if(isset($isset[$name]))
  6. {
  7. return true;
  8. }
  9. else
  10. {
  11. $isset[$name] = true;
  12. return false;
  13. }
  14. }


Ten post edytował Magic WWW 29.06.2011, 08:55:58
Go to the top of the page
+Quote Post
arzach
post
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


A czy da się to zrobić tak jak podałem przez referencje ? Bo wiem że można inaczej wykorzystujące tablice itp ale chciałem zrobić to przez referencje.

Ten post edytował arzach 29.06.2011, 09:03:30
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W Twojej funkcji brakuje jedynie słowa static
static $name1 = null;

I już. A tę referencje w definicji funkcji wywal bo jest zbędna.

Nie, wróć. Ty przecież ustawiasz $name1 po return, więc się nigdy nie ustawi....

  1. function test($name){
  2. static $name1 = null;
  3. if($name1 != $name){
  4. $res = true;
  5. } else {
  6. $res = false;
  7. }
  8.  
  9. $name1 = $name;
  10. return $res;
  11. }


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
arzach
post
Post #5





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Dziękuje o to mi chodziło.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 15:05