Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_match_all jak zmienić początek indeksów w generowanej tablicy ?
didit
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.10.2012

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


  1. preg_match_all($regularex, $content, $array);

Jak zrobić abym otrzymał tablicę zaczynającą się od indeksu
array 1 =>
a nie od
array 0 =>

Czytałem dokumentację i coś jest z offsetem tylko nie bardzo to rozumiem.

Z góry dzięki za pomoc dla samouka.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
s1518
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 4
Dołączył: 3.12.2012

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


Hmm nie wiem czy dobrze Cie zrozumialem, ale moze o to chodzi:
  1.  
  2. $tablica=array('a','b','c','d','e');
  3. foreach($tablica as $key=>$var)
  4. {
  5. $od_jed[$key+1]=$var;
  6.  
  7. }
  8.  
  9. print_r($od_jed);
?

Ten post edytował s1518 7.12.2012, 16:21:28
Go to the top of the page
+Quote Post
didit
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.10.2012

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


Chodzi o to ze preg_match_all zwróci mi w tablicy wszystkie wyniki dopasowane do wyrażenia regularnego.
Tablica ta jednak będzie zaczynała się od indeksu [0] chciałbym przestawić to tak aby zaczynała się od [1], bez zbędnej roboty przepisywania jej.
Problem jest taki, że co bym nie zdefiniował w zmiennej array przed preg_match_all to i tak ta funkcja ustawia po swojemu elementy w nowej tablicy.
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%)
-----


A w jakim celu niby chciałbyś zmienić początkowy indeks tablicy?
Go to the top of the page
+Quote Post
didit
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.10.2012

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


Powyższe pytanie rozświeciło mi drogę do innego rozwiązania. Pytanie dalej aktualne czy idzie ustawiać indeks początkowy przy preg_match_all ?

Ten post edytował didit 7.12.2012, 17:02:47
Go to the top of the page
+Quote Post
cudny
post
Post #6





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

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


  1. if(preg_match_all($regularex, $content, $array)) unset($array[0]);
  2. echo '<pre>';
  3. foreach($array as $index => $value) {
  4. echo $index."\t".'$value."\n";
  5. }


Ale nadal jest pytanie, po co Ci to jak możesz dać

  1. if(preg_match_all($regularex, $content, $array)) {
  2. echo '<pre>';
  3. $length = count($array);
  4. for($i=1;$i<$length;$i++) {
  5. echo $i."\t".'$array[$i]."\n";
  6. }


Ten post edytował cudny 7.12.2012, 22:51:25
Go to the top of the page
+Quote Post
didit
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.10.2012

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


Dzięki, za poświęcenie, właśnie w ten sposób zrobiłem. Ale nie przyjemniej i szybciej by było gdyby klucz tablicy można było by określić w preg_match_all? ostatni parametr a,b,c albo 2 i wszystko odbyło by sie bez sortowania, które ogólnie jest znane.

Ja jestem już, nazwijmy to, szalonym programistą. Po 12 latach czasami przekombinowuję. Mam nadzieję, że odpowiedziałem na zadane przez Ciebie pytanie.
Go to the top of the page
+Quote Post
cudny
post
Post #8





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

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


Ale w wyrażeniach reg. w php można je nazywać poprzez chyba ( bo już dokładnie nie pamiętam ) (?<name>[a-z]+)
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: 4.10.2025 - 21:34