Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Dynamiczna tablica
szmerak
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


  1. function renameLink($nazwa1)
  2. {
  3. $nazwa1 = remove($nazwa1);
  4. $nazwa2 = explode(" ", $nazwa1);
  5.  
  6. $nazwa = array($nazwa2[0], $nazwa2[1], $nazwa2[2], $nazwa2[3], $nazwa2[4], $nazwa2[5], $nazwa2[6], $nazwa2[7], $nazwa2[8], $nazwa2[9]);
  7.  
  8. $dzielnik = implode("-", $nazwa);
  9.  
  10. return($dzielnik);


Mam tutaj funkcję która dodaje pomiędzy słowa "-", jak widać z góry jest podane 10 elementów.
I tutaj moje pytanie czy jest możliwość stworzenia dynamicznej tablicy?
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Przecież tablice w PHP są dynamiczne.
Użyj foreach i $nazwa[] do wstawienia nowego elementu.
Go to the top of the page
+Quote Post
szmerak
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Dobra dzięki wielkie już działa (IMG:style_emoticons/default/tongue.gif)
Zadaje dużo pytań ale dzięki temu szybciej się uczę (IMG:style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tak się zastanawiam... czy Ty w ogóle wiesz co robi ta linijka:
  1. $nazwa = array($nazwa2[0], $nazwa2[1], $nazwa2[2], $nazwa2[3], $nazwa2[4], $nazwa2[5], $nazwa2[6], $nazwa2[7], $nazwa2[8], $nazwa2[9]);
i jak bardzo bezsensowna ona jest.
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #5





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Pomijając już fakt, że do tego wystarczy str_replace (IMG:style_emoticons/default/biggrin.gif) .
Go to the top of the page
+Quote Post
szmerak
post
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Cytat(Crozin @ 15.12.2010, 17:02:14 ) *
Tak się zastanawiam... czy Ty w ogóle wiesz co robi ta linijka:
  1. $nazwa = array($nazwa2[0], $nazwa2[1], $nazwa2[2], $nazwa2[3], $nazwa2[4], $nazwa2[5], $nazwa2[6], $nazwa2[7], $nazwa2[8], $nazwa2[9]);
i jak bardzo bezsensowna ona jest.


Sam to napisałem to jak mogę nie wiedzieć.
Używam tego obecnie do tworzenia przyjaznych linków w .htaccess tylko że przez tą tablicę link wygląda
video-31-rozbil-sie-samolot-gdzies-tam-----.html <= /\ta tablice to jest limit 10 słow w linku na zapas

zamiast
video-31-rozbil-sie-samolot-gdzies-tam.html

Ten post edytował szmerak 15.12.2010, 18:13:21
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #7





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Podziwiam za pomysłowość (IMG:style_emoticons/default/biggrin.gif) .
Użyj tego:
  1. public static function urlize($text)
  2. {
  3. // Remove all non url friendly characters with the unaccent function
  4. $text = self::unaccent($text);
  5.  
  6. if (function_exists('mb_strtolower'))
  7. {
  8. $text = mb_strtolower($text);
  9. } else {
  10. $text = strtolower($text);
  11. }
  12.  
  13. // Remove all none word characters
  14. $text = preg_replace('/\W/', ' ', $text);
  15.  
  16. // More stripping. Replace spaces with dashes
  17. $text = strtolower(preg_replace('/[^A-Z^a-z^0-9^\/]+/', '-',
  18. preg_replace('/([a-z\d])([A-Z])/', '\1_\2',
  19. preg_replace('/([A-Z]+)([A-Z][a-z])/', '\1_\2',
  20. preg_replace('/::/', '/', $text)))));
  21.  
  22. return trim($text, '-');
  23. }

Ze źródeł Doctrine

Ten post edytował Mephistofeles 15.12.2010, 18:16:00
Go to the top of the page
+Quote Post
szmerak
post
Post #8





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


  1. function resizeLink($nazwa1)
  2. {
  3. $nazwa1 = remove($nazwa1);
  4. $nazwa2 = explode(" ", $nazwa1);
  5.  
  6.  
  7. for($i=0; $i<sizeof($nazwa2); $i++)
  8. {
  9. $nazwa[$i] = $nazwa2[$i];
  10. }
  11.  
  12. $dzielnik = implode("_", $nazwa);
  13. return $dzielnik;
  14. }


Tak to mam zrobione (IMG:style_emoticons/default/smile.gif) dostałem odpowiedź (IMG:style_emoticons/default/dry.gif)

Ten post edytował szmerak 15.12.2010, 19:06:22
Go to the top of the page
+Quote Post
Crozin
post
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Sam to napisałem to jak mogę nie wiedzieć.
No albo nie masz pojęcia co piszesz albo - patrząc po powyższym poście... no nie możesz mieć pojęcia co piszesz.

Rozdzielasz tekst na tablicę tylko po to by połączyć tą tablicę w jeden tekst - zamiast użyć str_replace. W dodatku jeszcze nie wiadomo po co kopiujesz całą tablicę element po elemencie.

PS. resizeLink? wtf?
Go to the top of the page
+Quote Post
szmerak
post
Post #10





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Wszystkie pytania są z mojego skryptu który piszę na bieżąco i to już trochę czasu.

http://www.szmerak.pl

Link do jakiegoś filmiku:
http://szmerak.pl/video-6-Kompilacja_najsm...ow_Polecam.html

oczywiście + dość zaawansowany panel administracyjny.

Tak więc chyba mam pojęcie co pisze skoro już tyle udało mi się zrobić?

Ten post edytował szmerak 15.12.2010, 21:48:18
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #11





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Nie tkwij w swoim przekonaniu, bo Twój problem da się rozwiązać dużo prościej, a Ty na siłę nas próbujesz przekonać o słuszności Twojego rozwiązania.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:45