Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Odwrotność funkcji PRINT_R
modic
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 18.07.2008

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


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

Ten post edytował modic 12.03.2010, 23:27:52
Go to the top of the page
+Quote Post
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Ale co Ty chcesz uzyskać, bo może wystarczy serialize/unserialize albo json_encode/json_decode ?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
modic
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 18.07.2008

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


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
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


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.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
modic
post
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 18.07.2008

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


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:59