ďťż
Podstrony
|
telcocafeCześć.Od razu napiszę że nie chodzi mi o explode(). Mam ciąg "nazwa1:|:wartosc1-|-nazwa2:|:wartosc2-|-nazwa3:|:wartosc3" i chciałbym przeszktałcić ten ciąg w tablice: array( 'nazwa1' => 'wartosc1', 'nazwa2' => 'wartosc2', 'nazwa3' => 'wartosc3' ); Za pomocą jakiej funkcji jest to możliwe ? Aha było by też fajnie gdybyście powiedzieli mi jakich najlepiej jest użyć separatorów do tego :P ( -|-, :|: ) Pozdrawiam. W przypadku dokładnie takiej formy zapisu (jak co to zmienisz w dwóch miejscach ;)) $ciag = 'nazwa1:|:wartosc1-|-nazwa2:|:wartosc2-|-nazwa3:|:wartosc3'; $arr1 = explode('-|-', $ciag); foreach ($arr1 as $k=>$v) { $arr2[] = explode(':|:', $v); } I teraz print_r($arr2); da nam: Array ( [0] => Array ( [0] => nazwa1 [1] => wartosc1 ) [1] => Array ( [0] => nazwa2 [1] => wartosc2 ) [2] => Array ( [0] => nazwa3 [1] => wartosc3 ) ) To tylko przykład, ale z pomocą kosmetycznych praktycznie poprawek osiągniesz dokładnie ten efekt który potrzebujesz ;) Użytkownik Einzeinbleth edytował ten post 23 sierpień 2006, 13:03 do podanej czynności służy funkcja explode :P w powyższym przypadku podwójnie stosowana. Oprócz tego możesz połączyć/przyjrzeć się list() Notka zapewne chodzi o zapis danych do plików tekstowych... zamiast coś|coś|coś stosować serializowane tablice (zapisujesz serialize($tablica) a odczytujesz i $tablica = unserialize($dane) i gotowe) Użytkownik Riklaunim edytował ten post 23 sierpień 2006, 13:03 do podanej czynności służy funkcja explode :P w powyższym przypadku podwójnie stosowana. Oprócz tego możesz połączyć/przyjrzeć się list() Notka zapewne chodzi o zapis danych do plików tekstowych... zamiast coś|coś|coś stosować serializowane tablice (zapisujesz serialize($tablica) a odczytujesz i $tablica = unserialize($dane) i gotowe) No właśnie. Chodzi mi o odczyt z pliku tekstowego. Odczytują plik Tworzę tablice Tablice wykorzystuje w systemie timplejtów Chcę zrobić swoją strone w kilku językach i ta metoda wydaje mi się najrozsądniejsza. Kawałek tablicy jakiej potrzebuję: $profileArray = array( 'Name' => 'Imię', 'Surname' => 'Nazwisko', 'Country' => 'Kraj', 'Place' => 'Miejscowość', 'GaduGadu' => 'Numer GG', 'Computer' => 'Komputer:', 'GraphicCard' => 'Karta Graficzna' ); <?php $tablica=array(); $ciag = 'nazwa1:|:wartosc1-|-nazwa2:|:wartosc2-|-nazwa3:|:wartosc3'; $arr1 = explode('-|-', $ciag); foreach ($arr1 as $k=>$v) { $arr2 = explode(':|:', $v); $tablica[$arr2[0]]=$arr2[1]; } print_r($tablica); ?> wynik z print_r'a Array ( [nazwa1] => wartosc1 [nazwa2] => wartosc2 [nazwa3] => wartosc3 ) Użytkownik bikstopa edytował ten post 23 sierpień 2006, 13:47 Wiesz że cie kocham ? Już miałem się sam za to brać :D karma += 20 Topic [SOLVED] |
|||
Sitedesign by AltusUmbrae. |