漢字在php應用中經常會給我們帶來一些麻煩,今天在網上找到一段array數組轉換成xml時發現漢字就為空了,后來gg了關天得出比較好的結果了,下面與大家分享,在 php 數組轉xml我們在php中學會這樣來寫:
- function array2xml($array, $xml = false){
- if($xml === false){
- $xml = new SimpleXMLElement('<root/>');
- }
- foreach($array as $key => $value){
- if(is_array($value)){
- array2xml($value, $xml->addChild($key));
- }else{
- $xml->addChild($key, $value);
- }
- }
- return $xml->asXML();
- }
- header('Content-type: text/xml');
- print array2xml($array);
當內容出現漢字時會出現為空的情況,解決辦法是轉編碼處理,代碼如下:
- function array2xml($array, $xml = false){
- if($xml === false){
- $xml = new SimpleXMLElement('<root/>');
- }
- foreach($array as $key => $value){
- if(is_array($value)){
- array2xml($value, $xml->addChild($key));
- }else{
- //$value=utf8_encode($value);
- if (preg_match("/([x81-xfe][x40-xfe])/", $value, $match)) {
- $value = iconv('gbk', 'utf-8', $value);
- //判斷是否有漢字出現
- }
- $xml->addChild($key, $value);
- }
- }
- return $xml->asXML();
- }
新聞熱點
疑難解答