Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> array_walk_recursive - odwloanie do metody
miszz
post 2.09.2010, 10:46:26
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 20.02.2004
Skąd: Zielona góra

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


Dzień dobry,

napisałem taką metodę:

  1. public function changeEncodeCout($text) {
  2. (is_array($text)) ? $value=array_walk_recursive($text, self::changeEncodeCouts($text)) : $this->value=$text;
  3. return iconv("cp1250", "utf-8", $this->value);
  4. }

w zamyśle miała ona zmieniać kodowanie z cp1250 na utf-8. Pojawia się jednak problem przy 2gim parametrem rzeczonej funkcji. U mnie odwołuje się ona do metody w której się znajduje
  1. self::changeEncodeCouts($text)

Skrypt zawisa w sumie wydaje się to oczywiste gdyż manual mówi: Apply a user function recursively to every member of an array. Pytanie czy da się osiągnąć cel jaki sobie obrałem?

Ten post edytował miszz 2.09.2010, 10:48:13
Go to the top of the page
+Quote Post
wookieb
post 2.09.2010, 10:54:42
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl2.php.net/callback
A jeżeli chcesz szybko zmienić kodowanie tablicy to
1) serialize
2) zmień kodowanie
3) unserialize


--------------------
Go to the top of the page
+Quote Post
Noidea
post 2.09.2010, 11:20:51
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


Trick z serializacją nie zadziała, jeśli zmiana kodowania spowoduje zmianę ilości bajtów potrzebnych do zapisu znaku.


Tzn (iso-8859-2):
Cytat
a:1:{i:0;s:4:"ąąąą";}


zamieni na (utf-8):
Cytat
a:1:{i:0;s:4:"ąąąą";}


a powinno na:
Cytat
a:1:{i:0;s:8:"ąąąą";}


--------------------
Go to the top of the page
+Quote Post
wookieb
post 2.09.2010, 12:39:05
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Faktycznie
Zapomniałem o tym, przepraszam za wprowadzenie w błąd.


--------------------
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 Wersja Lo-Fi Aktualny czas: 25.06.2025 - 13:18