echo substr_count |
echo substr_count |
26.08.2019, 12:29:22
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) |
Witam
Mam kod, który ma wyszkać znak "1". ECHO wyrzuca aż 8 jedynek a mi zależy aby wyszukał tylko "1" jako znak pojedyńczy czyli powinno ECHO wyrzucać "1". Jakieś wskazówki ? <?php echo substr_count("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15","1"); ?> |
|
|
26.08.2019, 13:31:53
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Skoro używasz funkcji która zlicza ilość wystąpień w ciągu to czego oczekujesz?
Użyj np https://www.php.net/manual/en/function.stristr.php -------------------- |
|
|
26.08.2019, 19:35:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Witam Mam kod, który ma wyszkać znak "1". ECHO wyrzuca aż 8 jedynek a mi zależy aby wyszukał tylko "1" jako znak pojedyńczy czyli powinno ECHO wyrzucać "1". Jakieś wskazówki ? <?php echo substr_count("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15","1"); ?> to tablica czy string? -------------------- |
|
|
27.08.2019, 07:48:17
Post
#4
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) |
Tablica
|
|
|
27.08.2019, 08:52:24
Post
#5
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 105 Dołączył: 7.08.2012 Ostrzeżenie: (0%) |
Skoro to tablica (tzn. ten string 1,2,3,...,15) no to użyj https://www.php.net/manual/en/function.arra...ount-values.php
A jeśli to jednak string, to przed powyższą funkcją przekształć tego stringa na tablicę za pomocą explode() używając przecinka jako separatora. |
|
|
27.08.2019, 09:57:28
Post
#6
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) |
stristr to raczej nie jest dobry pomysł. To nie jest to czego oczekuje.
Tu podaje przykład: <?php $liczba = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"; echo stristr($liczba, '14'); ?> Ten post edytował Zenobiusz 27.08.2019, 09:58:20 |
|
|
27.08.2019, 11:22:54
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
No i działa prawidłowo. Sprawdziłeś że string występuje w ciągu. Co więcej oczekujesz ?
-------------------- |
|
|
27.08.2019, 12:10:46
Post
#8
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) |
Z tablicy zbyt dosłownie wyciąga wszystkie cyfry a mi nie o to chodzi. Jeżeli poproszę aby z tablicy wyliczono ile jest 1 przy ciągu liczb 1,2,3,4,5,10,11 to echo pokaże że są 4 jedynki, a ma pokazać że 1 bo faktycznie jest tylko jedna jedynka jako liczba. Z funkcją ARRAY jest już inaczej i to właśnie tutaj jest rozwiązanie.
<?php $array = array(1, 31, 11, 42, 2); print_r(array_count_values($array)); ?> Ten post edytował Zenobiusz 27.08.2019, 12:14:42 |
|
|
27.08.2019, 12:25:54
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 831 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Może tego oczekujesz?
|
|
|
27.08.2019, 12:33:26
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Z pierwszego postu wynika że chcesz sprawdzić czy występuje chociaż raz. Tym sposobem to sprawdzisz. Liczbę masz bo po niej szukasz. Czy występuje sprawdza funkcja. Dlatego nie rozumiem problemu.
-------------------- |
|
|
27.08.2019, 12:36:10
Post
#11
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) |
strpos pokazuje pozycje znaku w ciągu. Z Twojego ciągu jeżeli zapytam się o liczbę 14 to z mojego oczekiwania powinno się pojawić że 14 są dwie. :-)
Viking. No własnie w tym problem że jeżeli się zapytam o np 14 jw. w ciągu to nie pokazuje że są dwie liczby 14 tylko wyliczy wszystkie czwórki i jedynki. Ten post edytował Zenobiusz 27.08.2019, 12:39:28 |
|
|
27.08.2019, 13:21:34
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Definicja funkcji jest jasna: Returns all of haystack starting from and including the first occurrence of needle to the end.
Twoje pytanie: Mam kod, który ma wyszkać znak "1". Jakie pytanie taka odpowiedź. -------------------- |
|
|
27.08.2019, 13:43:20
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 831 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Już nie mówiąc, że nie informujesz nas czy dane wejściowe są standaryzowane, bo może lepiej pobawić się funkcją explode() i funkcjami do szukania elementów tablicy.
|
|
|
28.08.2019, 08:22:11
Post
#14
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Witam Mam kod, który ma wyszkać znak "1". ECHO wyrzuca aż 8 jedynek a mi zależy aby wyszukał tylko "1" jako znak pojedyńczy czyli powinno ECHO wyrzucać "1". Jakieś wskazówki ? <?php echo substr_count("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15","1"); ?>
Ten post edytował dublinka 28.08.2019, 08:34:09 -------------------- |
|
|
28.08.2019, 10:00:21
Post
#15
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) |
Z funkcją explode tak łatwo nie pójdzie.
Dziękuje Dublinka. :-) Ten post edytował Zenobiusz 28.08.2019, 11:39:06 |
|
|
28.08.2019, 13:52:53
Post
#16
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Mozna tez troche dookola:
I wersja z explode:)
Oczywiscie te dwa przyklady sa bardzo pobobne bo w drugim zamiast uzyc pobrania od razu w petli => $value bawimy sie list-em i explode. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 17.04.2024 - 01:39 |