Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 6.04.2012 Ostrzeżenie: (0%)
|
Mam skrypt, który wyświetla mi na stronie tagi:
W wyniku dostaję coś takiego:
Jak pozbyć się tego ostatniego, niepotrzebnego przecinka ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 23.12.2006 Skąd: Będzin / Kraków Ostrzeżenie: (0%)
|
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 6.04.2012 Ostrzeżenie: (0%)
|
Matty, Twój pomysł nie do końca działa, co prawda nie mam na końcu przecinka, ale na początku też (IMG:style_emoticons/default/smile.gif)
Coś takiego dostaje:
a gdy zmienie $x=0 na $x=1 to dostaje:
Próbowałem zmienić:
na
ale dalej lipa :/ Ten post edytował Greg23 12.07.2012, 13:07:31 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 26 Dołączył: 15.09.2011 Skąd: Wrocław Ostrzeżenie: (0%)
|
Powinno zadziałać:
Ten post edytował piotrex41 12.07.2012, 13:13:54 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 6.04.2012 Ostrzeżenie: (0%)
|
Działa świetnie (IMG:style_emoticons/default/smile.gif)
Bardzo dziękuję za pomoc! |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
Nie wiem, co to za dziwactwa ludziska wyprawiają z tym doklejaniem łańcuchów i usuwaniem ostatniego przecinka (czy jakiegokolwiek innego znaku).
A można prościej, tak:
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%)
|
Nie wiem, co to za dziwactwa ludziska wyprawiają z tym doklejaniem łańcuchów i usuwaniem ostatniego przecinka (czy jakiegokolwiek innego znaku). Zgadzam się! Niestety PHP w całej tej swojej "łatwości" w wielu osobach zakorzenia programistyczną bylejakość, złe nawyki, klejenie potworków. Chociaż Twój sposób, irmidjusz, jest niewiele lepszy (IMG:style_emoticons/default/smile.gif) Zamiast tych zmiennych/tablic-potworków, wystarczy sprawdzać czy osiągnięto już koniec (lub przerobić na sprawdzanie czy początek): |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
SmokAnalog co jeżeli wartość się powtarza?
Cytat ala, ma, kota, i, nic, nie, ma
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
złapał markonix smoka za ogon (IMG:style_emoticons/default/wink.gif)
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%)
|
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Wydaje mi się, że sposób z tymczasową tablicą i funkcją implode jest ździebko bardziej pamięciożerny więc osobiście wybrałbym pomysł poprzednika.
Wygodniejszy byłby także gdy stosujemy system szablonów oparty o surowe PHP. Wtedy wygląda to znacznie prościej dla ewentualnego kodera HTML. Wygląda także znacznie lepiej bo gdyby struktura HTMLowa znajdująca się w pętli byłaby dość pokaźna (tak, że wygodniej zamiast echo byłoby lepiej umieścić poza znacznikami php) to wrzucanie tego do tablicy wyglądałoby niefortunnie. |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%)
|
Rzecz gustu (IMG:style_emoticons/default/smile.gif) Nie tylko gustu (IMG:style_emoticons/default/smile.gif) Wrzucanie fragmentów kodu HTML do zmiennych jest przeważnie złym pomysłem. Jeśli można coś wypluć od razu z echo, to najlepiej tak zrobić Tym bardziej, że jak tych tagów będzie więcej niż kilka, to zbieranie ich kodu w tablicy, a następnie łączenie z implode wcale nie jest błyskawiczną operacją. |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
Przekonaliście mnie, rzeczywiście ten zapis SmokaAnaloga wygląda prościej, czytelniej (IMG:style_emoticons/default/smile.gif)
Chociaż osobiście nie lubię pisać tego typu konstrukcji, gdzie wykonuje się coś niepotrzebnie mnóstwo razy (jak to przypisanie separatora w pętli), to jednak w typowych zastosowaniach nie ma to żadnego znaczenia i dla uproszczenia kodu jest OK. Działa dobrze i jest łatwe w czytaniu i to mnie przekonało. Natomiast jeśli chodzi o czas wykonania czy zużycie pamięci: 1. Jeśli echo ma wypluć niewielkie ilości niedługich łańcuchów, to czas wykonania czy pamięciożerność w ogóle się nie liczy (IMG:style_emoticons/default/smile.gif) Dla tak małych liczb, są to rzeczy zupełnie bez znaczenia i pomijalne i nie ma nawet się co zastanawiać nad tym czy coś się wykona szybciej albo zajmie mniej RAMu, bo są to nieistotne różnice. Gdybanie o tym, co jest szybsze od czego nie jest profilowaniem i często ma się nijak do rzeczywistości. W ogóle rozmyślanie o tym i używanie jako argumentów, że jakieś rozwiązanie jest lepsze od innego, jest w takim przypadku (małych ilości przetwarzanych elementów) bez sensu. Co to są "niewielkie ilości"? Zależy (IMG:style_emoticons/default/smile.gif) Ale w praktyce, ile takich elementów wyświetlisz? 100? 500? Więcej się zwykle nie daje, bo to utrudnia przeglądanie strony - do tego jest paginacja albo filtrowanie. Nawet dla 500 kilkuset znakowych łańcuchów nie ma praktycznego znaczenia, który sposób zastosujesz. No chyba, że piszesz w PHP aplikację na najnowszy zegarek Bonda z wbudowanym mikroserwerem www z 1 MB RAMu dla PHPa, wówczas to co innego... ;P A teraz zagadka: przy jakiej ilości elementów w tablicy będzie różnica wykonania rzędu 100 ms? Zależy od serwera (IMG:style_emoticons/default/smile.gif) ale mogę strzelać, że będą to ilości 100000+ (o ile oczywiście nie sprawdzamy na zegarku Bonda z prockiem 400 MHz... (IMG:style_emoticons/default/biggrin.gif) ) Poza tym, takie rzeczy to się sprawdza w realnym środowisku wykonawczym podczas profilowania i optymalizuje tylko wtedy, gdy w ogóle ma jakiekolwiek istotne znaczenie. 2. Jeśli echo nie jest buforowane, to im więcej operacji echo, tym dłużej to trwa i prosty test pokazuje, że dla dużych ilości echo, lepiej jest zgromadzić stringi w tablicy i wypluć jednym echo implode, bo trwa to sumarycznie krócej. Oczywiście, można też gromadzić w tymczasowym stringu i wypluć go na koniec w całości. A najszybciej (i zużywa najmniej RAMu) jest stosować echo przy włączonym buforowaniu. |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 21:34 |