![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam mały problem odnośnie funkcji array, a więc chce ustawić chronologicznie wartości $godzina i wpisać je do pliku a później wyświetlić. Wszystko działa dobrze do momentu kiedy przed każdą wartością chce żeby do pliku dodawany był też tekst przed każdą z nich. Gdy uruchamiam mój kod owszem wpisuje tekst i zmienne, lecz niestety nie układa ich w kolejności. Wrzucam kod poradzi ktoś co robię źle?
Ten post edytował cfneon 2.03.2014, 22:22:45 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Raczej wygląda to ok, może poza tym, że rsort sortuje tablicę malejąco, jeśli chcesz rosnąco, użyj sort. Generalnie po wykonaniu skryptu powinieneś mieć w pliku dane.txt taką zawartość: "dane_do_zapisu33</br>dane_do_zapisu24</br>dane_do_zapisu11</br>" - czyli posortowane malejąco. Chyba mnie troszke nie zrozumiałeś. Chce zrobić, aby wartości $godziny były sortowane malejąco a dodatkowo aby każda wartość miała przypisany tekst. Dla przykładu: Nie jak wyświetla się teraz "dane_do_zapisu33</br>dane_do_zapisu24</br>dane_do_zapisu11</br>" Tylko "dane_do_zapisu24</br>dane_do_zapisu33</br>dane_do_zapisu11</br>" |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
"dane_do_zapisu24</br>dane_do_zapisu33</br>dane_do_zapisu11</br>" to jest malejaco ?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem. Chyba (IMG:style_emoticons/default/smile.gif)
Możesz w takim razie zrobić tablicę gdzie kluczami będą godziny i sortować po kluczach. Z tym, że to zadziała tylko jeśli godziny będą unikalne.
Jeśli natomiast godziny mogą się powtarzać, to wtedy możesz napisać np. swoją funkcję sortującą i przekazać ją do usort. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem. Chyba (IMG:style_emoticons/default/smile.gif) Możesz w takim razie zrobić tablicę gdzie kluczami będą godziny i sortować po kluczach. Z tym, że to zadziała tylko jeśli godziny będą unikalne.
Jeśli natomiast godziny mogą się powtarzać, to wtedy możesz napisać np. swoją funkcję sortującą i przekazać ją do usort. Wszystko działa, mam jeszcze jedno pytanie czy funckją array mogę ułożyć chronologicznie daty? Próbuję to zrobić standardowo wpisując date tak: lecz kod w ogóle nie działa. ;/ Ten post edytował cfneon 3.03.2014, 00:01:25 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze zapisywanie do zmiennych w stylu:
Jest złe. Zrób z tego normalną tablicę:
Posortowanie godzin zapisanych w ten sposób załatwi zwyczajny sort. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze zapisywanie do zmiennych w stylu: Jest złe. Zrób z tego normalną tablicę:
Posortowanie godzin zapisanych w ten sposób załatwi zwyczajny sort. Mam to zrobić tak?
A gdy każdą godzinę będe chciał wpisać do osobnej zmiennej tak?
ani pierwszy, ani drugi przykład nie chce działać(nie wiem dlaczego). Przepraszam za moje może głupie pytania ale jestem początkujący. Ten post edytował cfneon 3.03.2014, 00:22:14 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
W tym drugim przykładzie zastąp pętle for pętlą foreach:
Wielkie dzięki Vonski! To się nazywa szybka i skuteczna pomoc. (IMG:style_emoticons/default/wink.gif) ) Temat do zamk. ;d Ps. Jeszcze jedno pytanko czy w arrayu mogę wpleść if lub jakiś warunek czy muszę to zrobić w innym miejscu? Chodzi mi o zrobienie coś tego typu (patrz komentarz zamiast zmiennej $godzina1).
Ten post edytował cfneon 3.03.2014, 12:49:31 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wewnątrz array() if-a nie dasz (IMG:style_emoticons/default/smile.gif) Możesz ewentualnie to obejść operatorem trójkowym, ale wydaje mi się, że może to strasznie zaciemnić Twój kod (tzn. za 2 dni na to popatrzysz i nie będziesz wiedział co jest grane).
Ale zamiast urzywać array() do dodawania elementów możesz użyć operatora [], coś w tym rodzaju:
Ewentualnie możesz użyć array_filter. Chociaż to trochę mniej wydajny sposób, bo najpierw wrzucasz wszystko do tablicy, a potem filtrujesz, ale może to być przydatne, jeśli z jakiegoś powodu będziesz mimo wszystko później potrzebował wszystkich wartości:
Ten post edytował vonski 3.03.2014, 13:06:55 |
|
|
![]() ![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki vonski to wszystko już z czym miałem problem. Temat rozwiązany, pozdrawiam (IMG:style_emoticons/default/wink.gif) )
edit. Wszystko działa ale prawie bo teraz gdy dodałem ify znowu nie chce mi tego sorcić, nie wiem czy umieszciłem je dobrze. Zerkniesz na to.
Pomoże ktoś? Bo troche nad tym główkuje i niewiem co wywołuje błąd. A bardzo mi na tym zależy, sorry za refresh(jeszcze tylko to i temat do zamk. (IMG:style_emoticons/default/wink.gif) ) Ten post edytował cfneon 7.03.2014, 23:45:45 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A no nie sortuje (IMG:style_emoticons/default/smile.gif) Nie sortuje dlatego, że krsort sortuje po kluczach i o ile takie tworzenie tablicy:
tworzyło tablicę asocjacyjną, o tyle teraz robisz tablicę za pomocą opratora [], czyli musisz ręcznie podać te klucze:
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wreszcie! Wszystko już zrobione (IMG:style_emoticons/default/wink.gif) ) Dzięki bardzo vonski, temat do zamknięcia ;]
Wielka pozdrówka. ;dd |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:52 |