Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem w pozbyciu się duplikatów w tablicy php
Forum PHP.pl > Forum > Przedszkole
Fiedorek
Witam oto część mojego skryptu php.
  1. //print_r($w);
  2. //sort ($w);
  3. $w = array_unique($w);
  4. //print_r($w);
  5. $i=0;
  6. while(!empty($w[$i]))
  7. {
  8. $spr = strpos($w[$i], $szukana);
  9. if(is_int($spr))
  10. echo $w[$i]."<br>";
  11. $i++;
  12. }

Robię skrypt który po wpisaniu liter wyświetli tobie pasujące do tego frazy niestety napotkałem na dziwny błąd, a mianowicie użyłem funkcji array_unique i strstr w php co na pierwszy rzut oka było okey, ale po głębszej analizie zauważyłem że nie działa to prawidłowo i niestety wyrzuca ta funkcja za dużo z tablicy, a gdy dodałem funkce sort to już mało co jest wyświetlane.

dodałem więc print_r aby podejrzeć co jest w tablicach i tablice zwracają poprawne wartości z jedną kopią, ale nie jest to wyświetlane...

W internecie znalazłem coś takiego

https://karol-drag.eu/art/miniporadnik-strp...iala-prawidlowo

z tego wynika że formuła
if(strstr($w[$i], $szukana)!==False)
ale nawet po zmianie nic nie pomogło.
Myślałem że może to przez polskie znaki, ale po wykonaniu niezliczonej liczby prób i eksperymentów jestem w punkcie wyjścia i niestety nawet tam gdzie nie ma polskich znaków to też nie wyświetla.
Rozwiązanie może być banalne, ale ja go niestety nie widzę.
Znacie może rozwiązanie tego problemu?
Salvation
$w jest tablicą stringów, a zmienna $szukana po prostu string?

  1. $searchedString = ' ... '; // to jest twoja zmienna 'szukana'
  2. $phrases = [ ... ]; // to jest twoja zmienna 'w'
  3. $phrases = array_values(array_filter(array_unique($phrases)));
  4.  
  5. foreach ($phrases as $phrase) {
  6. if (str_contains($phrase, $searchedString)) {
  7. echo $phrase . "\r\n";
  8. }
  9. }
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.