Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyciąganie konkretnych wartości z unserializowanych danych
userkare
post
Post #1





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

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


Dopiero zaczynam php i mam problem. Mam zasierializowane dane w bazie. Już je unserializowałem i chcę zrobić taką operację.

Otóż mam tam tablice typu:
"tochce_qdwqWQDdqwDQWQWDqwdwdqQWDQWDQWDQWDqwd"
"tochce_FaWEFWEGgewwegWEGWEGWEGwegWEGWEGWEG"
"tochce_FEWEEWEFFEVWEWEVWEVVWEWEVWEVWEVWEVWEV"
"tochce_VEVWWEVWEVWEVWEVWEGERGWEGEWEGWWEGWEGWEG"

Tworzę sobie zmienną zawierającą wartość, którą przechowuje ta tablica na zasadzie.

$var = $var1["tochce_qdwqWQDdqwDQWQWDqwdwdqQWDQWDQWDQWDqwd"];

Teraz przechodzę do sedna. Jak zrobić, żeby nie podawać za każdym razem nazwy tej tablicy i tworzyć niepotrzebnie osobnych zmiennych.

Interesuje mnie po prostu wszystko co zawiera "tochce_". Czyli jak zrobić w phpie jak w sql "tochce_%"? Z góry dzięki! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
userkare
post
Post #2





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

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


@Crozin dzięki za info na temat strpos, ale zastanawiam się jak miałbym tutaj to wykorzystać. Opiszę poniżej mój problem bardziej szczegółowo.

Mam w bazie jak już mówiłem wartości typu:

wartosc1_blabla
wartosc1_blffwfew
wartosc1_[...]
wartosc2_blabla
wartosc2_blffwfew
wartosc2_[...]

Wartości w takim schemacie jest 7, czyli załóżmy od wartosc1 do wartosc7. Schemat jest na zasadzie wartosc_[numer]_[hash]. Hashy jest zbyt dużo, żeby z palca tworzyć każdą zmienną. Zawartość takiej tablicy przenoszę do odpowiednich dla niego kolumn w bazie czyli wartosc1, wartosc2, wartosc3 [...] w przypadku gdy istnieje taka wartość.

Czy miałbym zrobić w takiej sytuacji 7 pętli foreach dla każdej wartości?

Obecnie dla przykładowej wartości wszystko mi działa gdy podaję całą pełną wartość i mam to rozwiązane tak jak poniżej. Z góry przepraszam za jakość kodu, ale jestem początkującym.

  1. while($rowtest = mysql_fetch_assoc($json_obj)){
  2.  
  3. $rowcast=array ($rowtest["wartosci"]);
  4. $comma_separated = implode(",", $rowcast);
  5. $emp_data = unserialize($comma_separated);
  6.  
  7. var_export($emp_data);
  8.  
  9. $wartosc1_blabla = $emp_data["wartosc1_blabla"];
  10.  
  11. if (!empty($wartosc1_blabla)){
  12. $wartosc1_po = $wartosc1_blabla;
  13. echo "Wartość wynosi ".$wartosc1_blabla;
  14. }
  15. else{
  16. $wartosc1_po="0";
  17. echo "<br />";
  18. }


Teraz wyszukałem jeszcze funkcję preg_grep która idealnie by tutaj psowała tylko, że szuka po wartościach, a ja chciałbym po kluczach w mojej tablicy asocjacyjnej. Czy ktoś ma pomysł jak można by to zrobić.

Tutaj przykład jak chciałbym to zrobić. Ta operacja poniżej przeszuka mi tylko po wartościach i nie wiem jak zrobić to po kluczach.
  1. $wartosc1_blabla = preg_grep ("/^wartosc1_blabla .*/", $emp_data);


////
Jestem coraz bliżej, znalazłem już preg_array_key_exists (IMG:style_emoticons/default/smile.gif)

Ten post edytował userkare 20.10.2015, 13:24:04
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: 16.10.2025 - 05:12