Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem w pozbyciu się duplikatów w tablicy php
Fiedorek
post 15.10.2023, 16:50:01
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 15.10.2023

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


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?
Go to the top of the page
+Quote Post
Salvation
post 16.10.2023, 19:15:16
Post #2





Grupa: Zarejestrowani
Postów: 344
Pomógł: 70
Dołączył: 15.07.2014

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


$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. }


Ten post edytował Salvation 16.10.2023, 19:16:01
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 Wersja Lo-Fi Aktualny czas: 28.04.2024 - 10:50