Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tablice i str_replace, tablice i str_replace
phprogrammer
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.11.2005

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


potrzebuje pewnej funkcji. mam tablice:

  1. <?php
  2. $array[] = array(1,2,3);
  3. $array[] = array(0,20);
  4. $array[] = array('text', 'text');
  5. ?>


i chce zrobic aby po wywołaniu szukanej funkcji w tekscie (np. znienna $text) pozmienialo (str_replace) tam gdzie jest $array[X][X] na wartosci jakie sa zamieszczone w tablicach. Bardzo wazne jest aby tablica $array mogla miec dowolna liczbe wymiarow (np. $array[][][][][][]).

z gory dziekuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


a skad funkcja ma wiedziec, ktora wartosc, w ktorym wymiarze ma wybrac? :|
Go to the top of the page
+Quote Post
phprogrammer
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.11.2005

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


No to wlasnie po to pisze na forum. Gdybym wiedzial jak to zrobic to bym sie nie pytal.

Myslalem nad wyrazeniami regularnymi, aby wyciagnac z tekstu elementy ktore posuja do podobnego wzoru: $array([NUMER]){1,} i puzniej znajac je pozmieniac na wlasciwa wartosc ale nie wiem jak to zrealizowac.

Ten post edytował phprogrammer 4.11.2005, 07:33:11
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


a nie mozesz pisac tak:
  1. <?php
  2.  
  3. $text = 'tresc'.$array[1][2][8][245].'tresc';
  4.  
  5. ?>

wtedy przeciez podstawi wartosc
Go to the top of the page
+Quote Post
orson
post
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

hmm ... nie wiem po co ci ( i jak chcesz to ogarnąć (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ) wiele wymiarów ale dla tablicy array('value'=>'replace','value2'=>'replace2') jest gotowa funckcja strtr" title="Zobacz w manualu php" target="_manual

wyjaśnij może bardziej jak by miało to działać z większą ilością wymiarów ...

pozdrawiam
Go to the top of the page
+Quote Post
phprogrammer
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.11.2005

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


ActivePlayer: Nie moge napisac 'text '. $zmienna .' ciag dalszy' ani "text $zmienna ciag dalszy" bo tekst jest odczytywany z pliku ( implode('', file('file.txt')) ).

orson: Ale najpierw musze wiedziec co mam pozmieniac. jedynie co wiem to ze jest tablica $array i ma dowolna liczbe wymiarow (czyli moze byc albo $array[1][2][3][0][9] albo $array[6] a nawet $array[1][1][1][1][1][1][1][1][1][1][1]).
a to przykladowa zawartosc pliku file.txt (specjalnie uzylem $tbl a nie $array aby sie nie mylilo):
Kod
ple pple ple $tbl[0][2][1] i tak dalej $tbl[1][0][2]...

i chce aby pozmienialo w zmiennej $text ( $text = implode('', file('file.txt')) ) wszedzie gdzie jest '$tbl[x][x][x]' na tekst zapisany w tablicy $array utworzynej w skrypcie tablicy $array[x][x][x].
czyli jezeli tablica $array ma wartosc:
  1. <?php
  2. $array =array(array(array ('t000','t001','t002'), array('t010','t011','t012'), array('t020','t021','t022')), array(array ('t100','t101','t102'), array('t110','t111','t112'), array('t120','t121','t122')), array(array ('t200','t201','t202'), array('t210','t211','t212'), array('t220','t221','t222')));
  3. ?>

to w efekcie powinnismy uzystac takie cos:
Kod
ple pple ple t021 i tak dalej t102...


wytlumaczylem najlepiej jak mogle a jak ktoś mi napisze zeby pozmieniac str_replace('$tbl', '$array', $text); to sie powiesze ale najpierw udusze tego kto to napisal,niezrozumiawszy o co mi chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ps. ufam ze na tym forum sa inteligentni ludzie

Ten post edytował phprogrammer 4.11.2005, 14:57:55
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: 25.08.2025 - 16:32