Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja wyświetlająca tylko jeden powtarzający się element
Forum PHP.pl > Forum > Przedszkole
arzach
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
Magic WWW
  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. }
arzach
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.
nospor
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. }
arzach
Dziękuje o to mi chodziło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.