Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zamiana stringa na tablicę
Forum PHP.pl > Forum > Przedszkole
allan
Hej,

mam zmienną łańcuchową typu:
  1. $x="[as] => ala ma kota"

i chcialbym zrobić z tego tablicę:
  1. $tab = Array($x);

i odwoływać sie do niej :
  1. echo $tab['as'];
jasin
  1. $tab = array();
  2. $parts = explode('=>', $x);
  3.  
  4. $key = trim(str_replace(array('[', ']'), '', $parts[0]));
  5. $value = trim($parts[1]);
  6.  
  7. $tab[$key] = $value ;
  8.  
  9.  
Sephirus
Jeżeli masz wpływ na to co masz w tej zmiennej tekstowej to proponuje lepiej użyć serialize() i unserialize().

Zserializowana tabela w formie tekstowej szybko i łatwo zamienia się z powrotem w tablicę ( troszeczkę ciężej to czytać jedynie ).

Zamiast wspomnianych funkcji możesz również użyć JSON'a poprzez json_encode() i json_decode().

Niezbyt dobrym pomysłem aczkolwiek działającym jest uzycie do tego celu funkcji var_export(), która to eksportuje zmienne w taki sposób, że można je z powrotem utworzyć za pomoca zwykłego eval - jest to jednak niezbyt bezpieczne i nie zalecane.

Jeśli zaś nie masz wpływu na to co masz w stringu to dla takiej pojedynczej wartości jak przedstawiłeś kod jasina starczy ale dla bardziej skomplikowanych struktur nie ma chyba dobrej metody na przerobienie tego co wypluło print_r z powrotem w zmienną...
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.