Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Odwrotność funkcji PRINT_R
Forum PHP.pl > Forum > Przedszkole
modic
mam mniej więcej taki kod:
  1. $tekst= print_r($tablica, true);


a wiec zamieniam zwartość tablicy na ciąg, który jest przechowywany w zmiennej $tekst, np taki:
Array([0] => Array([0] => Array([c] => 3[d] => 4)[1] => Array([0] => Array([h] => 8)))

albo inaczej:
  1. (
  2. [0] => Array
  3. (
  4. [0] => Array
  5. (
  6. [c] => 3
  7. [d] => 4
  8. )
  9.  
  10. [1] => Array
  11. (
  12. [0] => Array
  13. (
  14. [h] => 8
  15. )
  16. )
  17. )


i pytanie, czy istnieje jakiś szybki sposób aby ten ciąg z powrotem zamienić na tablicę, ewentualnie czy może ktoś zna już gotową funkcję questionmark.gif

słyszałem że można do tego użyć funkcji eval, ale nigdzie nie znalazłem w jaki sposób a moje kombinowanie na nic się zdało sad.gif
darko
Ale co Ty chcesz uzyskać, bo może wystarczy serialize/unserialize albo json_encode/json_decode ?
modic
Dzięki wielkie, serialize/unserialize to jest dokładnie to czego potrzebuję, nawet nie wiedziałem ze coś takiego istnieje smile.gif

A do czego to mi potrzebne to już mówię. Umyśliłem sobie że zrobię sobie keszowanie zapytań.

Mam jedne zapytanie które które dość długo się wykonuje bo pobiera dane z kilku tabel i to sporych, i wymyśliłem że wykona się raz, wynik zostanie zapisany w pliku lub bazie i potem będzie pobierany cache smile.gif
darko
To może zrób sobie widok z tego ? Może masz nieoptymalne zapytanie? Z sql nie czuję się na siłach, żeby rozmawiać o optymalizacji, ale zawsze warto poszukać czegoś na własną rękę w necie.
modic
Raczej ciężko byłoby poprawić zapytanie, wybieranie kilkuset rekordów z tabeli która ma 5 mln rekordów można przyśpieszyć chyba jedynie zmianą serwera na mocniejszy, bo indeksy już są porobione. Zapytanie trwa ok 0.5s

Wyjściem jest też keszowanie, jeśli bym wynik zapytania zapisał w bazie i wybierał 1 rekord wg 4 parametrów to na pewno będzie to trwało szybciej i mógłbym usuwać kesze pojedyńczo.

Co prawda używam Codeigniter, gdzie jest keszowanie, które wynik zapisuje w pliku, ale są problemy przy usuwaniu poszczególnych plików, w zasadzie to można usunąć tylko wszystkie na raz, więc wolę popracować nad własnym systemem keszowania
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.