[PHP] Długości stringa w tablicy |
[PHP] Długości stringa w tablicy |
22.03.2016, 11:03:12
Post
#1
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Jak wyszukać w tablicy wielowymiarowej najdłuższe stringi? I w indeksach i wartościach. Czyli mam np. taką tablicę:
Czyli powinienem otrzymać: 2016-10-18 08:38:18 2016-10-18 08:39:12 a tu jeszcze jeden string I teraz chcę wyszukać w tablicy największe wartości dla każdego indeksu. Z bazy danych nie ma problemu:
A z tablicy nie mogę zajarzyć... Nie pomoże nikt? -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 11:09:25
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Spróbuj tego:
|
|
|
22.03.2016, 11:25:49
Post
#3
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Zwraca mi pustą tablicę.
To powyższe zwraca mi tablicę z najdłuższymi stringami, zarówno kluczami jaki wartościami. Ja chciałbym jednak OK. Tak osiągnę długości: Ale jak $najdluzszyString po za tym kodem? I podobno można prościej za pomocą array_column, ale za krótki jestem... -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 11:34:22
Post
#4
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Możliwe, że nie do końca zrozumiałem problem, ale może coś takiego:
|
|
|
22.03.2016, 11:42:49
Post
#5
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Przecież podany przeze mnie kod działa:
W efekcie otrzymujesz: Kod Array ( [0] => 2016-10-18 08:38:18 [1] => jeszcze inny string [2] => a tu jeszcze jeden string ) Różnica w stosunku do tego co podałeś: Cytat 2016-10-18 08:38:18 2016-10-18 08:39:12 a tu jeszcze jeden string jest taka, że drugi element to u mnie Nazwa, a nie Czas. Wynika to z tego, że zwraca pierwszy najdłuższy ciąg znaków. Jeśli chcesz zwrócić ostatni to wystarczy zmienić:
na:
|
|
|
22.03.2016, 11:45:59
Post
#6
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Prawie Otrzymuję:
A chciałbym wartości liczbowe stringów, najlepiej jako jedną tablicę. Czyli
Gdzie [0] to długość klucza (bo wszędzie taki sam) a reszta to wartości... @phpion, zgadza się. Użyłem innych danych. -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 11:53:54
Post
#7
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Jest ok ? |
|
|
22.03.2016, 12:24:52
Post
#8
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Warning: Invalid argument supplied for foreach()
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 12:27:41
Post
#9
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Mam wrażenie, że mnie trollujesz....
|
|
|
22.03.2016, 12:39:13
Post
#10
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Gdzież bym śmiał...
To działa na Twojej tablicy, ale i tak otrzymuję pustą:
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 12:46:33
Post
#11
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
|
|
|
22.03.2016, 13:13:31
Post
#12
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
I to jest chyba to Jeszcze tylko pokombinuje na okazję pustych stringów
Już wiem, jaki jest powód nie działania na mojej tablicy. Moja ma index od 0:
A Twoja od 1.
Dlatego sypie wyniki. -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 13:23:42
Post
#13
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Nie czaje, jak to sypie wyniki?
zwraca mi:
Czyli tak jakby działa... Ten post edytował kapslokk 22.03.2016, 13:24:17 |
|
|
22.03.2016, 13:40:00
Post
#14
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Działa, działa. coś pokićkałęm z tablicą wcześniej.
Jak Twój kod ma się do UTF-8? -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 13:43:06
Post
#15
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Wg tego raczej kiepsko:
http://wpengineer.com/2410/dont-use-strlen/ Ale zawsze możesz zamienić strlen na mb_strlen . |
|
|
22.03.2016, 14:49:48
Post
#16
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
No właśnie, z tym kodem co kombinowałem liczyło dobrze, ale nie umiałem uzyskać poza pętlą danych:
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
22.03.2016, 15:01:22
Post
#17
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
No dobra, ale masz jeszcze z czymś problem czy już nie?
|
|
|
23.03.2016, 21:40:44
Post
#18
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Już, nie. Teraz sprawdzam, jak zachowuje się z polskimi znakami.
Wielkie dzięki za pomoc. Piszę ponownie, bo zmieniłem koncepcję. Chciałbym uzyskać jedną tablicę, niezależnie od wartość indeksów i wartości tablicy. Czyli chcę znaleźć najdłuższe stringi w tablicy, niezależnie od tego, czy są w indeksach czy w wartościach. Z tablicy w pierwszym poście będzie tak: Cytat 2 - bo: Nr - z indeksu
25 - bo: a tu jeszcze jeden string - z wartości 19 - bo: 2016-10-18 08:38:18 - z wartości 4 - bo: Opis - z indeksu -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
24.03.2016, 08:10:09
Post
#19
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Ale to tak banalna zmiana, że serio mogłeś ją zrobić sam |
|
|
24.03.2016, 09:22:00
Post
#20
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Niestety, za cienki jestem. Ponadto, nie o to mi chodziło
Zauważ, że tablica ma tylko 4 indeksy i tym samym 4 wartości: Cytat 'Nr' => '1', 'Nazwa' => 'Adam Kowalski', 'Czas' => '2016-10-18 08:38:18', 'Opis' => 'woda' Chciałbym wyciągnąć najdłuższe długości stringów, niezależnie czy to będzie indeks czy wartość. Czyli w tym przypadku, powinienem otrzymać tablicę tylko z 4 wartościami:
Nie wiem, jak mam zebrać klucze i wartości do jednej kupy. -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 15:59 |