Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> "Zamiana" z _pole_ na $row["_pole_"], pole == 123 -> $row["pole"] == 123
MoD
post
Post #1





Grupa: Zarejestrowani
Postów: 193
Pomógł: 0
Dołączył: 14.09.2003
Skąd: Brodnica (koło Torunia)

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


W jaki sposób przekonwertować wyrażenie "pole == wartość" na "$row['pole'] == wartość" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Próbowałem przy preg_replace z takim wyrażeniem:
Kod
#(.+)\s(.+)#

Co dało wynik "$row['pole ==']wartość" a tak być nie powinno (potrzebuję zbudować warunek dla EVAL). Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Jezlei juz checesz koniecznie wyrazeniami regularnymi to mozna tak:
  1. <?php
  2.  
  3. $sString = 'costam1 == wartosc1 costam2 == wartosc2 costam3 == wartosc3';
  4. preg_match_all( '%([w]+) == ([w]+)%s', $sString, $arMatches );
  5.  
  6. ?>

O ile sie nie myle tablica $arMatches[1] zawiera klucze a $arMatches[2] zawiera wartosci

Chociaz jezlei masz tylko jedna taka pare to wcale nie trzeba do tego wyrazen regularnych wystarczy explode:
  1. <?php
  2.  
  3. $sString = 'costam1 == wartosc1';
  4. list( $klucz, $wartosc ) = explode( '==', $sString );
  5. $row[$klucz]= $wartosc;
  6.  
  7. ?>

A jezeli chodzi Ci o pobieranie danych z bazy to funkcja mysq_fetch_array zwraca wyniki zapytania jako tablice asocjacyjna wiec zadna zamiana nie jest konieczna (tak mi sie jakos skojarzylo jak zobaczylem row, wiec sie prosze nie obrazac;)
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 17:03