Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_match_all jak zmienić początek indeksów w generowanej tablicy ?
Forum PHP.pl > Forum > PHP
didit
  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.

s1518
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);
?
didit
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.
Crozin
A w jakim celu niby chciałbyś zmienić początkowy indeks tablicy?
didit
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 ?
cudny
  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. }
didit
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.
cudny
Ale w wyrażeniach reg. w php można je nazywać poprzez chyba ( bo już dokładnie nie pamiętam ) (?<name>[a-z]+)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.